如果goroutine中存在循环,则过程将停止

时间:2019-06-25 08:58:57

标签: go

如果我执行以下代码,则该过程将在重复打印过程之后停止。 为什么程序停止? GC停止了吗?

我是golang的初学者。 感谢您提供的任何帮助。

CentOS7.5 go版本go1.12.6 linux / amd64 导出GOMAXPROCS = 10

package main

import (
    "fmt"
)

func main(){
    go Start()
    for{}
}

func Start(){
    cnt := 0
    for {
        cnt++
        fmt.Println(cnt)
    }
}

结果在下面。

... 251194 251195 251196 251197 251198 251199 <-此行之后该过程停止。

但是,如果不使用goroutine,那不会停止。

func main(){
    cnt := 0
    for {
        cnt++
        fmt.Println(cnt)
    }
}

以上程序成功并且没有停止。

0 个答案:

没有答案