gpt4 book ai didi

go - main 函数是否运行一个 goroutine?

转载 作者:IT王子 更新时间:2023-10-29 01:49:09 25 4
gpt4 key购买 nike

main() 函数是 goroutine 吗?例如,我看到了如下所示的崩溃堆栈跟踪,这让我想问:

goroutine 1 [running]: main.binarySearch(0x0, 0x61, 0x43,
0xc420043e70, 0x19, 0x19, 0x10)
/home/---/go/src/github.com/----/sumnum.go:22 +0x80 main.main()
/home/---/go/src/github.com/---/sumnum.go:13 +0xc1 exit status 2

最佳答案

Is the main function a goroutine?

没有。

main函数是一个函数。

相比之下,

A goroutine is a lightweight thread of execution. (source).

所以goroutines执行的是函数,但是goroutines不是函数,goroutines和函数之间不是一对一的关系。

然而...

main() 函数在第一个(并且仅在启动时)goroutine goroutine #1 中执行。

但是一旦该函数调用另一个函数,主协程就不再执行主函数,而是执行其他函数。

很明显,goroutine 和函数是完全不同的实体。

不要将 goroutines 与函数混为一谈!!

函数和协程是完全不同的概念。将它们视为同一事物会导致无数的困惑和问题。

关于go - main 函数是否运行一个 goroutine?,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/53388154/

25 4 0
Copyright 2021 - 2024 cfsdn All Rights Reserved 蜀ICP备2022000587号
广告合作:1813099741@qq.com 6ren.com