为了账号安全,请及时绑定邮箱和手机立即绑定

如何阻止程序/goroutine?

如何阻止程序/goroutine?

Go
慕妹3146593 2021-06-21 05:04:00
我有一个程序可以触发两个在后台提供服务的 goroutine。然后我想阻止主 goroutine 并让它们在后台运行。我想“永远”阻止,我不在乎干净的出口。我该怎么做?我可以在频道上等待,然后再不发送任何东西。我可以睡一个循环。我认为可能有一个更简单的block()函数可以调用?我目前正在这样做var i chan int<-i
查看完整描述

1 回答

?
翻过高山走不出你

TA贡献1875条经验 获得超3个赞

您可以使用sync.WaitGroup传递给每个 goroutine 的 a 。这是在调用 goroutine 中等待其子进程的常用方法。

但是,在您不关心结果的情况下,这也应该这样做:

select {}

规范关于select

如果没有非 nil 通道的情况,则该语句将永远阻塞

该语句永远阻塞,同时将控制权交给其他 goroutine。


查看完整回答
反对 回复 2021-06-28
  • 1 回答
  • 0 关注
  • 224 浏览
慕课专栏
更多

添加回答

举报

0/150
提交
取消
意见反馈 帮助中心 APP下载
官方微信