美文网首页
go day10 goroutine、runtime、chan

go day10 goroutine、runtime、chan

作者: 落雨_a363 | 来源:发表于2019-11-09 16:38 被阅读0次

    goroutine (如果主协程退出了,程序也就退出了)

    1

    runtime包:

    1.runtime.Gosched():用于让出CPU时间片,让出当前goruntine的执行权限,调度器胺片其他等待的任务运行.

    2.runtime.Goexit()

    1

    3.runtime.GOMAXPROCS()
    调用runtime.GOMAXPROCS()用来设置可以并行计算的CPU核数的最大值,并返回之前的值。

    channel

    goroutine运行在相同的地址空间,因此访问共享内存必须做好同步。goroutine 奉行通过通信来共享内存,而不是共享内存来通信。

    引⽤类型channel是 CSP 模式的具体实现,用于多个 goroutine 通讯。其内部实现了同步,确保并发安全。

    默认情况下,channel接收和发送数据都是阻塞的,除非另一端已经准备好,这样就使得goroutine同步变的更加的简单,而不需要显式的lock。

    1 1 1 1 1

    channel关闭

    1 1 1 1 1

    相关文章

      网友评论

          本文标题:go day10 goroutine、runtime、chan

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