gpt4 book ai didi

go - 如何阻止程序/goroutine?

转载 作者:IT王子 更新时间:2023-10-29 01:27:21 26 4
gpt4 key购买 nike

我有一个程序可以触发两个在后台提供服务的 goroutine。然后我想阻止主 goroutine 并让它们在后台运行。我想“永远”阻止,我不关心干净的导出。我应该怎么做?我可以在 channel 上等待,然后再也不发送任何东西。我可以睡个好觉。两者都感觉不太对 我认为我可以调用一个更简单的 block() 函数?

我正在做这个

var i chan int
<-i

最佳答案

您可以使用 sync.WaitGroup您将其传递给每个 goroutine。这是常见的方式在调用 goroutine 中等待它的 child 。

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

select {}

来自spec regarding select :

If there are no cases with non-nil channels, the statement blocks forever

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

关于go - 如何阻止程序/goroutine?,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/18772091/

26 4 0
Copyright 2021 - 2024 cfsdn All Rights Reserved 蜀ICP备2022000587号
广告合作:1813099741@qq.com 6ren.com