我有一个程序可以触发两个在后台提供服务的 goroutine。然后我想阻止主 goroutine 并让它们在后台运行。我想“永远”阻止,我不在乎干净的出口。我该怎么做?我可以在频道上等待,然后再不发送任何东西。我可以睡一个循环。我认为可能有一个更简单的block()函数可以调用?我目前正在这样做var i chan int<-i
1 回答
翻过高山走不出你
TA贡献1875条经验 获得超3个赞
您可以使用sync.WaitGroup
传递给每个 goroutine 的 a 。这是在调用 goroutine 中等待其子进程的常用方法。
但是,在您不关心结果的情况下,这也应该这样做:
select {}
如果没有非 nil 通道的情况,则该语句将永远阻塞
该语句永远阻塞,同时将控制权交给其他 goroutine。
- 1 回答
- 0 关注
- 224 浏览
添加回答
举报
0/150
提交
取消