保持 Go 项目的主 Goroutine 无限期运行
与其他编程语言中的 main 函数不同,Go 的 main Goroutine 在从函数返回时退出。这就提出了一个问题:我们怎样才能让主 Goroutine 无限期地运行?
“休眠” Goroutine
有几种结构可以在不消耗 CPU 资源的情况下阻塞主 Goroutine:
退出Goroutine
当需要提供退出方式时,可以使用通道:
不阻塞地睡眠
如果我们不想阻塞主 goroutine 但只是阻止它结束,可以使用以下结构:
注意:
关闭退出通道可以随时终止程序,即使其他goroutine 正在运行。这是因为主协程从关闭的通道接收数据后返回,导致程序在非主协程完成之前退出。
以上是如何让 Go 程序的主 Goroutine 无限期运行?的详细内容。更多信息请关注PHP中文网其他相关文章!