登录
首页 >  Golang >  Go教程

golang 阻止主goroutine退出的操作

来源:脚本之家

时间:2022-12-25 09:57:08 163浏览 收藏

本篇文章向大家介绍《golang 阻止主goroutine退出的操作》,主要包括goroutine、退出,具有一定的参考价值,需要的朋友可以参考一下。

1:for

 //使用无线循环
 for{
 }

如果想退出

 for {
    reutrn 
 }
 

例如:启动三个 goroutine 等待三个 goroutine 执行结束一下 退出主 goroutine

var c bool = false
var nums int = 0
for i := 0; i 

2:chan

var c = make(chan bool)
........
.......


如果想退出主进程 则

c 

例如:启动三个 goroutine 等待三个 goroutine 执行结束一下 退出主 goroutine

var c = make(chan bool)
var nums int = 0
for i := 0; i 

补充:golang使用之使用channel限制goroutine的数量

golang虽然启动一个goroutine很廉价但并不是可以无限制的使用的.

大多数的是用channel来限制goroutine的数量

写了一个测试DEMO如下:

package main 
import (
 "fmt"
 "runtime"
 "time"
)
 
var (
 chanNum   = 3 //启动的数量
 readChan  = make(chan int)        //操作信息的channel
 limitChan = make(chan bool, 1000) //限制goroutine数量的channel,此处限制1000个
)
 
//初始人方法 
func init() {
 fmt.Println("init")
 
 for i := 0; i 

执行结果如下:

go run channel_limit_goroutine.go

init

main

0====numGo:==1004

1====numGo:==1003

2====numGo:==1005

1====numGo:==1005

0====numGo:==1005

2====numGo:==1005

0====numGo:==1005

1====numGo:==1005

2====numGo:==1005

以上为个人经验,希望能给大家一个参考,也希望大家多多支持golang学习网。如有错误或未考虑完全的地方,望不吝赐教。

理论要掌握,实操不能落!以上关于《golang 阻止主goroutine退出的操作》的详细介绍,大家都掌握了吧!如果想要继续提升自己的能力,那么就来关注golang学习网公众号吧!

声明:本文转载于:脚本之家 如有侵犯,请联系study_golang@163.com删除
相关阅读
更多>
最新阅读
更多>
课程推荐
更多>
评论列表