PHP中高级工程师面试重点讲解视频课程
Go快速入门浅显易懂视频教程-基础篇
Go快速入门浅显易懂视频教程-中级篇
golang的队列机制实现同步主线程接受子协程的结果
阅读:1599 分享次数:0

 package main

import (
    "fmt"
    "runtime"
    "sync"
)

func main() {
    //这里控制cpu核数
    runtime.GOMAXPROCS(1)
    //这里等待锁的协程组
    wg := sync.WaitGroup{}
    //这里是添加20个携程
    wg.Add(20)
    for i := 0; i < 10; i++ {
        go func() {
            fmt.Println("i: ", i)
            //释放协程执行
            wg.Done()
        }()
    }
    for i := 0; i < 10; i++ {
        go func(i int) {
            fmt.Println("i: ", i)
            //释放协程执行
            wg.Done()
        }(i)
    }
    //这里是主线程阻塞等待协程完成
    wg.Wait()
}



------------------------------
这里主要是控制在一个cpu上,通过sync.WaitGroup{} 实现类似队列功能,然后来阻塞主线程执行,等待子线程完成再执行主线程

感觉本站内容不错,读后有收获?