go - 从调用另一个 goroutine 的 goroutine 返回

标签 go concurrency goroutine

我想知道从另一个 goroutine 返回时调用的 goroutine 会发生什么。他们是继续运行还是被终止? 这是一个示例代码来说明我的意思:

func func() {
    // Doing something
}

func func2() {
        go func()
        // Doing things that end with a return
    }

func main() {
    go func2()
}

当 func2() goroutine 返回时 func() goroutine 会发生什么?

最佳答案

你可以在优秀的https://play.golang.org上做个实验 Playground ! 我推荐在那里做实验——它对 golang 的学习很有帮助。

https://play.golang.org/p/OJ9sgakV-S

我添加了 2 秒延迟,因为如果程序退出得太快,您将看不到 goroutines 的结果。

关于go - 从调用另一个 goroutine 的 goroutine 返回,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/46980367/

相关文章:

java - 如何每次使用 while 循环延迟更新 jLabel

关闭 Go channel 时的​​ Go 竞争条件

go - 如何组合 sha 哈希值?

c# - 并发收集以最快的速度添加、删除和查找最高的

ruby-on-rails - 此 Ruby 代码是否正确使用线程、线程池和并发性

go - 为什么闭包中本地分配的变量在外部分配时的工作方式不同?

go - 如何在 lambda 处理程序回复后等待 goroutine 完成

http - 如何在 POST 中的 JSON 中发送 JSON

go - 将堆栈跟踪放入字符串变量

variables - 如何获取有关 Go 变量类型的信息