加入收藏 | 设为首页 | 会员中心 | 我要投稿 李大同 (https://www.lidatong.com.cn/)- 科技、建站、经验、云计算、5G、大数据,站长网!
当前位置: 首页 > 大数据 > 正文

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{


}


如果想退出


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

(编辑:李大同)

【声明】本站内容均来自网络,其相关言论仅代表作者个人观点,不代表本站立场。若无意侵犯到您的权利,请及时与联系站长删除相关内容!

    推荐文章
      热点阅读