名为runtime.gopark的goroutine是什么?

名为runtime.gopark的goroutine是什么?,go,goroutine,goland,Go,Goroutine,Goland,我正在调试一个用GoVia Goland编写的程序。在调试器中,我可以在正在运行的不同goroutine之间进行选择。我发现在我的goroutine旁边还有很多其他goroutine,名为runtime.gopark,我怀疑这些是线程池中等待作业的其他线程。然而,我在网上找不到任何答案。是这样吗?如果没有,它实际上在做什么 附:这是事件的照片: goroutine没有命名。runtime.gopark是调试器停止进程并获取代码执行快照时执行的包/函数 特别是对于runtime.gopark,这意

我正在调试一个用GoVia Goland编写的程序。在调试器中,我可以在正在运行的不同goroutine之间进行选择。我发现在我的goroutine旁边还有很多其他goroutine,名为runtime.gopark,我怀疑这些是线程池中等待作业的其他线程。然而,我在网上找不到任何答案。是这样吗?如果没有,它实际上在做什么

附:这是事件的照片:


goroutine没有命名。runtime.gopark是调试器停止进程并获取代码执行快照时执行的包/函数

特别是对于runtime.gopark,这意味着goroutines暂时处于保留状态,由运行时调度器暂停


如果您希望更好地了解应用程序,并命名goroutines,那么您可以使用IDE的最新版本,如2020.1.2或更新版本,并按照所述注释代码。

goroutines未命名。runtime.gopark是调试器停止进程并获取代码执行快照时执行的包/函数

特别是对于runtime.gopark,这意味着goroutines暂时处于保留状态,由运行时调度器暂停


如果您希望更好地了解应用程序,并命名goroutines,那么您可以使用IDE的最新版本,如2020.1.2或更新版本,并按照所述注释代码。

请参阅runtime.gopark的源代码。函数的定义上方有文档。A可能会有所帮助,但请注意,此链接中的行号最终将是错误的。谢谢。我已经看到了这一点,但由于我对go的源代码不是很熟悉,所以我希望有更熟悉的人可以帮助我。我是从这条评论中猜出来的。注意到每当goroutine在某个频道上等待发送或接收数据时,它都会在gopark中,这可能会更有帮助。这不是唯一的原因,但很有可能。Goroutines没有名字。在您的示例中,他们唯一的身份是数字67。runtime.gopark是goroutine恰好正在执行的函数的名称。请参阅runtime.gopark的源代码。函数的定义上方有文档。A可能会有所帮助,但请注意,此链接中的行号最终将是错误的。谢谢。我已经看到了这一点,但由于我对go的源代码不是很熟悉,所以我希望有更熟悉的人可以帮助我。我是从这条评论中猜出来的。注意到每当goroutine在某个频道上等待发送或接收数据时,它都会在gopark中,这可能会更有帮助。这不是唯一的原因,但很有可能。Goroutines没有名字。在您的示例中,他们唯一的身份是数字67。runtime.gopark是goroutine恰好正在执行的函数的名称。