主题
文章
项目
资源
图书
Go网址导航
下载
官方文档
英文文档
中文文档
标准库中文版
Go指南
注册
登录
首页
会员
Taoey的信息
TA的收藏
初级会员
第 42214 位会员
ID:
Taoey
名字:
豆仔gogo
注册时间:
2019-08-29 14:19:23
是否在线:
Offline
财富:
27
59
更多>>
最近发布的主题
暂无
更多>>
最近发布的文章
实战Nginx-keepalived双机热备集群
at
2020-08-04 22:41:09
知识无涯,写文不止(掉发不止)
at
2020-07-23 22:14:02
开源一个自己写的并发日志监听处理器,各位大佬来看看
at
2020-06-11 23:20:38
从无到满意offer,你需要知道的那些事
at
2019-12-31 17:48:00
更多>>
最近分享的资源
暂无
更多>>
最近发布的项目
暂无
更多>>
最近的评论
2021-03-12 10:29:43
评论了
博文
Golang让协程交替输出
最后一种方法,每次将数据发送到下一个个channel都会新建一个Goroutine,并没有控制Goroutine的数量,如果打印100个就会建立100Goroutine,这是我的修改方案,也可参见我的博客:[【豆仔gogo】练习题-golang交替打印数字的各种情况](http://beangogo.cn/2021/03/03/golang-%E4%BA%A4%E6%9B%BF%E6%89%93%E5%8D%B0/) ```go // 首发于博客:豆仔gogo: http://beangogo.cn package main import ( "fmt" ) func printNum(maxNum int, chanPre chan int, chanNext chan int, exit chan bool, id string) { for i := 0; i <= maxNum; i++ { num := <-chanPre select { case <-exit: return default: if num == maxNum+1 { exit <- true } else { fmt.Printf("id %s:%d\n", id, num) num += 1 chanNext <- num } } } } func main() { exit := make(chan bool) maxNum := 20 gNum := 5 if gNum < 2 { return } chanArr := make([]chan int, gNum) for i := 0; i < gNum; i++ { chanArr[i] = make(chan int) } for i := 0; i < gNum; i++ { if i != len(chanArr)-1 { go printNum(maxNum, chanArr[i], chanArr[i+1], exit, string(rune(i)+'A')) } else { go printNum(maxNum, chanArr[i], chanArr[0], exit, string(rune(i)+'A')) } } chanArr[0] <- 0 <-exit } ```
2020-10-04 19:41:26
评论了
主题
两年多的运维经验,一年多的Golang开发经验,目前在深圳,求职工作地点,深圳,杭州,上海都可以
#16
楼
@Felixw
说低级趣味的一看就没混过v站 <_<
2019-12-31 17:50:11
评论了
博文
从无到满意offer,你需要知道的那些事
无法删除文章?
2019-11-01 09:44:14
评论了
主题
全套Go语言开发及区块链视频及资料-应有尽有
QQ:2517129987 提前谢过大佬
最新主题
|
最新资源
|
最新评论
X
登录和大家一起探讨吧
用户名
密码
记住登录状态
登录
GitHub 登录
忘记密码?
还不是会员
现在注册
最近的评论