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

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