猿问

如何阻止程序/goroutine?

我有一个程序可以触发两个在后台提供服务的 goroutine。然后我想阻止主 goroutine 并让它们在后台运行。我想“永远”阻止,我不在乎干净的出口。我该怎么做?我可以在频道上等待,然后再不发送任何东西。我可以睡一个循环。我认为可能有一个更简单的block()函数可以调用?


我目前正在这样做


var i chan int

<-i


慕妹3146593
浏览 225回答 1
1回答

翻过高山走不出你

您可以使用sync.WaitGroup传递给每个 goroutine 的 a 。这是在调用 goroutine 中等待其子进程的常用方法。但是,在您不关心结果的情况下,这也应该这样做:select&nbsp;{}从规范关于select:如果没有非 nil 通道的情况,则该语句将永远阻塞该语句永远阻塞,同时将控制权交给其他 goroutine。
随时随地看视频慕课网APP

相关分类

Go
我要回答