从调用另一个 goroutine 的 goroutine 返回
Returning from a goroutine which calls another goroutine
我想知道当 returns 从另一个 goroutine 调用的 goroutines 会发生什么。他们会继续 运行 还是被终止?
这是一个示例代码来说明我的意思:
func func() {
// Doing something
}
func func2() {
go func()
// Doing things that end with a return
}
func main() {
go func2()
}
当 func2() goroutine returns 时 func() goroutine 会发生什么?
你可以在优秀的 https://play.golang.org playground 上做实验!
我推荐在那里做实验 - 它对 golang 学习有很大帮助。
https://play.golang.org/p/OJ9sgakV-S
我添加了 2 秒延迟,因为如果程序退出太快,您将看不到 goroutines 的结果。
我想知道当 returns 从另一个 goroutine 调用的 goroutines 会发生什么。他们会继续 运行 还是被终止? 这是一个示例代码来说明我的意思:
func func() {
// Doing something
}
func func2() {
go func()
// Doing things that end with a return
}
func main() {
go func2()
}
当 func2() goroutine returns 时 func() goroutine 会发生什么?
你可以在优秀的 https://play.golang.org playground 上做实验! 我推荐在那里做实验 - 它对 golang 学习有很大帮助。
https://play.golang.org/p/OJ9sgakV-S
我添加了 2 秒延迟,因为如果程序退出太快,您将看不到 goroutines 的结果。