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

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