package?main
func?main()?{
????ch1?:=?make(chan?int)????
????go?pump(ch1)?//?pump?hangs}
func?pump(ch?chan?int)?{
??????ch?<-?1
??????ch?<-?2
}
1 回答

一凡
TA貢獻(xiàn)43條經(jīng)驗(yàn) 獲得超8個贊
go pump() 啟動了新的協(xié)程,但是 main() 主函數(shù)啟動完協(xié)程就執(zhí)行完畢,那么,協(xié)程里面 ch 阻塞也影響不了 main 主線程。
main 主線程運(yùn)行結(jié)束,整個進(jìn)程也就終止了,協(xié)程也會被清理掉。
所以,需要在 main 里面加上一個阻塞,比如: sleep, WaitGroup 來控制。
- 1 回答
- 0 關(guān)注
- 1062 瀏覽
添加回答
舉報(bào)
0/150
提交
取消