#### 我有一些抓取操作,需要1秒钟实现10个api的请求,我把那些数据,临时存储到数组里面,但是不知道怎么通过并发的形式实现
```go
func main() {
timeout := time.NewTicker(1 * time.Second).C
var zips = []string{"01", "02", "03", "04", "05", "06", "07", "08", "14", "15", "16", "09", "10", "11", "12", "13", "17", "18", "19", "20", "21", "22", "23", "24", "25", "26", "27", "28", "29", "30", "31", "32", "33", "34", "35", "36", "37", "38", "39", "40", "41", "42", "43", "44", "45", "46", "47", "48", "49", "50", "81", "51", "52", "53", "54", "55", "82", "56", "57", "58", "59", "60", "61", "62", "63", "64", "65", "66", "67", "68", "69", "70", "71", "72", "73", "77", "78", "75", "76", "79", "80"}
for {
select {
case <-timeout:
println("时间:", time.Now().Second())
for i := 0; i < 10; i++ {
println(zips[i])
}
}
}
}
```
```
{
//每秒并发数量
max := 50
i := 0
j := 0
l := 0
tmp := make([] string, max)
if (len(last_zip_code) == 6) {
if (last_zip_code[0:2] == math) {
i, _ = strconv.Atoi(last_zip_code[2:6])
}
}
zips := make([]string, 10000)
for i < 10000 {
str_i := fmt.Sprintf("%04d", i)
zip := math + str_i
if zip != "" {
zips[j] = zip
} else {
zips = append(zips[:j], zips[j+1:]...)
}
i ++
j ++
}
timeout := time.NewTicker(time.Millisecond).C
for _, v := range zips {
if (v != "") {
last := tmp[len(tmp)-1]
if (last != "") {
loop:
for {
select {
case <-timeout:
sync := make(chan bool)
go func(tmp []string) {
run(tmp, info)
sync <- true
}(tmp)
<-sync
break loop
}
}
l = 0
tmp = make([] string, max)
}
tmp[l] = v
}
l++
}
}
```
#5