美文网首页
Golang使用2个goroutine分别打印奇偶数,顺序输出1

Golang使用2个goroutine分别打印奇偶数,顺序输出1

作者: MrCloudPeak | 来源:发表于2019-08-08 23:59 被阅读0次
    package main
    
    import (
        "fmt"
        "sync"
    )
    
    func printOdd(ch chan byte, wg *sync.WaitGroup) {
        defer wg.Done()
        for i := 1; i <= 9; i += 2 {
            fmt.Println(i)
            ch <- 1
            <-ch
        }
    }
    
    func printEven(ch chan byte, wg *sync.WaitGroup) {
        defer wg.Done()
        for i := 2; i <= 10; i += 2 {
            <-ch
            fmt.Println(i)
            ch <- 1
        }
    }
    
    func main() {
        ch := make(chan byte)
        var wg sync.WaitGroup
        wg.Add(2)
        go printOdd(ch, &wg)
        go printEven(ch, &wg)
        wg.Wait()
    }
    

    相关文章

      网友评论

          本文标题:Golang使用2个goroutine分别打印奇偶数,顺序输出1

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