diff --git "a/Go\350\257\255\350\250\200\347\263\273\345\210\227/Go\350\257\255\350\250\200\350\277\233\351\230\266/Goroutine.md" "b/Go\350\257\255\350\250\200\347\263\273\345\210\227/Go\350\257\255\350\250\200\350\277\233\351\230\266/Goroutine.md" index 1cc16b7..2876341 100644 --- "a/Go\350\257\255\350\250\200\347\263\273\345\210\227/Go\350\257\255\350\250\200\350\277\233\351\230\266/Goroutine.md" +++ "b/Go\350\257\255\350\250\200\347\263\273\345\210\227/Go\350\257\255\350\250\200\350\277\233\351\230\266/Goroutine.md" @@ -40,7 +40,6 @@ func main() { 运行结果: ``` end!!! -myGroutine ``` 很奇怪,明明是多协程任务,为什么只打印了主协程里的"end!!!",而没有打印我们开启的协程里的输出"myGroutine",按理不是应该都打印出来吗? 这是因为:当`main`函数返回的时候该`goroutine`就结束了,当主协程退出的时候,其他剩余的`goroutine`不管是否运行完,都会跟着结束。所以,这里主协程打印完"end!!!"之后就退出了,`myGroutine`协程可能还没运行到`fmt.Println("myGroutine")`语句也跟着退出了。