我正在调试通过Goland用go编写的程序。在调试器中,我可以在正在运行的不同goroutine之间进行选择。我发现我的goroutines旁边还有很多其他名为gotimetine.gopark的goroutines,我怀疑这些是线程池中等待工作的其他线程。但是,我在网上找不到任何答案。是这样吗?如果没有,它实际上在做什么?
附言这是事件的照片:
最佳答案
Goroutines未命名。 “runtime.gopark”是调试器停止进程并获取代码执行快照时执行时所在的包/函数。
特别是对于“runtime.gopark”,这意味着goroutine暂时处于“挂起”状态,由运行时调度程序暂停。
如果您希望对应用程序有更深入的了解并命名goroutine,则可以使用IDE的最新版本(例如2020.1.2(或更高版本)),并对代码进行注释,例如in this article。