分享
这是一个创建于 的主题,其中的信息可能已经有所发展或是发生改变。
`程序运行流程:`
读取userc和passc 数组,开启2个线程,2个线程同时使用一个数组,操作读取。
`遇到的问题:`
按照目前的代码,我pr()每次打印后,线程都会关闭,在重新开启一个线程,我并不希望这2个主要的线程结束,我想让这2个线程y一直运行,一直操作数组,将数组的值都遍历完,然后一起结束。
```go
package main
import (
"fmt"
"sync"
)
var wg sync.WaitGroup
var wgi int = 1
var limit int = 2 //线程数量
func pr(user, pass string) {
fmt.Println(user, pass)
}
func main() {
userc := []string{"13362011111", "13362022222", "13362033333", "13362444444"}
passc := []string{"123456", "000000"}
limitChan := make(chan struct{}, limit)
for _, user := range userc {
for _, pass := range passc {
wg.Add(wgi)
limitChan <- struct{}{}
go func(user1, pass1 string) {
pr(user1, pass1)
<-limitChan
wg.Done()
}(user, pass)
}
}
wg.Wait()
}
```
有疑问加站长微信联系(非本文作者)
入群交流(和以上内容无关):加入Go大咖交流群,或添加微信:liuxiaoyan-s 备注:入群;或加QQ群:692541889
关注微信1570 次点击
添加一条新回复
(您需要 后才能回复 没有账号 ?)
- 请尽量让自己的回复能够对别人有帮助
- 支持 Markdown 格式, **粗体**、~~删除线~~、
`单行代码` - 支持 @ 本站用户;支持表情(输入 : 提示),见 Emoji cheat sheet
- 图片支持拖拽、截图粘贴等方式上传