1、主协程先退出导致子协程没来得及调用
示例:
package main import (
"fmt"
"time"
) //主协程退出了,其它子协程也要跟着退出
func main() { go func() {
i := 0
for {
i++
fmt.Println("子协程 i = ", i)
time.Sleep(time.Second)
} }() //别忘了() }
执行结果
(备注:没有结果,主协程退出,子协程也跟着退出了。)
1、主协程先退出导致子协程没来得及调用
示例:
package main import (
"fmt"
"time"
) //主协程退出了,其它子协程也要跟着退出
func main() { go func() {
i := 0
for {
i++
fmt.Println("子协程 i = ", i)
time.Sleep(time.Second)
} }() //别忘了() }
执行结果
(备注:没有结果,主协程退出,子协程也跟着退出了。)