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("\n")
	}
}


posted @ 2020-11-10 21:16  brady-wang  阅读(298)  评论(0编辑  收藏  举报