我有一個程序可以觸發兩個在后臺提供服務的 goroutine。然后我想阻止主 goroutine 并讓它們在后臺運行。我想“永遠”阻止,我不在乎干凈的出口。我該怎么做?我可以在頻道上等待,然后再不發送任何東西。我可以睡一個循環。我認為可能有一個更簡單的block()函數可以調用?我目前正在這樣做var i chan int<-i
1 回答

翻過高山走不出你
TA貢獻1875條經驗 獲得超3個贊
您可以使用sync.WaitGroup
傳遞給每個 goroutine 的 a 。這是在調用 goroutine 中等待其子進程的常用方法。
但是,在您不關心結果的情況下,這也應該這樣做:
select {}
如果沒有非 nil 通道的情況,則該語句將永遠阻塞
該語句永遠阻塞,同時將控制權交給其他 goroutine。
- 1 回答
- 0 關注
- 257 瀏覽
添加回答
舉報
0/150
提交
取消