美文网首页
两个协程交替输出1-20

两个协程交替输出1-20

作者: 倒数第三 | 来源:发表于2018-06-13 16:40 被阅读0次
    package main
    
    import (
        "fmt"
        "runtime"
        "time"
    )
    
    func main() {
        runtime.GOMAXPROCS(1)
        go func() {
            for i := 1; i <= 10; i++ {
                fmt.Println(2*i - 1)
                runtime.Gosched()
            }
        }()
        go func() {
            for i := 1; i <= 10; i++ {
                fmt.Println(2 * i)
                runtime.Gosched()
            }
        }()
        time.Sleep(3 * time.Second)
    }
    

    原理:runtime.GOMAXPROCS(1)设置单核,runtime.Gosched()让出时间片

    相关文章

      网友评论

          本文标题:两个协程交替输出1-20

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