美文网首页
简单缓冲任务管道模型

简单缓冲任务管道模型

作者: funcx | 来源:发表于2019-10-09 15:13 被阅读0次
    package main
    
    import (
        "log"
        "sync"
        "time"
    )
    
    func main() {
        wg := sync.WaitGroup{}
        ch := make(chan int, 3)
        n := 3
        wg.Add(n)
        for i := 0; i < n; i++ {
            go func(id int) {
                for v := range ch {
                    log.Println(id, "->", v)
                    time.Sleep(time.Millisecond)
                }
                wg.Done()
            }(i)
        }
        for i := 0; i < 100; i++ {
            ch <- i
        }
        close(ch)
        wg.Wait()
    }
    

    相关文章

      网友评论

          本文标题:简单缓冲任务管道模型

          本文链接:https://www.haomeiwen.com/subject/swrgpctx.html