golang 阻止主goroutine退出方法
发布时间:2020-12-16 09:45:52 所属栏目:大数据 来源:网络整理
导读:1:for //使用无线循环 for{ } 如果想退出 for { reutrn } 例如:启动三个 goroutine 等待三个 goroutine 执行结束一下 退出主 goroutine var c bool = false var nums int = 0 for i := 0; i 3; i++ { go func() { fmt.Println("begin------------end") tim
1:for
//使用无线循环 for{
}
如果想退出
reutrn } 例如:启动三个 goroutine 等待三个 goroutine 执行结束一下 退出主 goroutine var c bool = false var nums int = 0 for i := 0; i < 3; i++ { go func() { fmt.Println("begin------------end") time.Sleep(10 * time.Second) nums++ if nums == 2 { c = true } }() } for { if c == true { return } } 2:chan var c = make(chan bool) ........ ....... <- c 如果想退出主进程 则 c <- true 例如:启动三个 goroutine 等待三个 goroutine 执行结束一下 退出主 goroutine var c = make(chan bool) var nums int = 0 for i := 0; i < 3; i++ { go func() { fmt.Println("begin------------") time.Sleep(10 * time.Second) nums++ if nums == 2 { c <- true } }() } <-c (编辑:李大同) 【声明】本站内容均来自网络,其相关言论仅代表作者个人观点,不代表本站立场。若无意侵犯到您的权利,请及时与联系站长删除相关内容! |