【发布时间】:2019-12-02 07:30:16
【问题描述】:
我曾使用 PHP 和 Python 等语言,但最近我有一个 Go 项目需要维护,该项目利用了多个工作程序和 goroutine。
在 PHP 或 Python 中,我们可以将代码的执行视为所有同步调用。但是我发现很难理解 Go 中的代码执行是如何发生的,尤其是在 worker 和 goroutine 中。任何人都可以建议我使用任何工具来获取执行流程(被调用的函数的名称)吗?
例如,如果有一个API,其中有各种goroutine,并且在这些goroutine内部,会调用其他goroutine,那么如何知道这些函数被调用的顺序。
【问题讨论】:
-
欢迎来到 SO!您可能想阅读How do I ask a good question,它提高了大幅获得有用答案的可能性。你可能会发现ESR 的优秀文章How To s The Smart Way 也很有帮助——尽管它的标题很“苛刻”。我有一种强烈的感觉,我们在这里有一个XY problem... ;)
标签: go concurrency execution goroutine