golang_如何控制并发执行的 Goroutine 的最大数目?

package main

import (
	"fmt"
	"time"
)

var ch chan int
func test(i int) {
	fmt.Println(i)
	time.Sleep(1 * 1e9)
	<-ch
}
func main() {
	ch = make(chan int, 5)
	for i:=0; i<1000; i++ {
		ch<-i
		go test(i)
		fmt.Println("
")
	}
}


原文地址:https://www.cnblogs.com/brady-wang/p/13956076.html