手记

Golang并发数的控制

package mainimport (    "fmt"    "sync"    "time")func main() {    wg := &sync.WaitGroup{}    limiter := make(chan bool, 10)    for i := 0; i < 100; i++ {        wg.Add(1)        limiter <- true        go download(i, limiter, wg)    }    wg.Wait()}func download(index int, limiter chan bool, wg *sync.WaitGroup) {    defer wg.Done()    fmt.Println("start to download :", index)    time.Sleep(1 * time.Second)    <-limiter}

0人推荐
随时随地看视频
慕课网APP