美文网首页程序人生程序员IT@程序员猿媛
Go 的并发模式(上)(更新中)

Go 的并发模式(上)(更新中)

作者: zidea | 来源:发表于2019-04-02 07:37 被阅读22次
    square-gopher.png

    并发是一种设计

    • 将您的程序设计为独立进程的集合
    • 将这些进程设计为并行运行
    • 通过设计让您的代码无论是同步还是异步结果并没有差异
    golang.jpg

    关注并发的细节

    • 通过独立的任务来组织您的代码
    • 确保没有 race conditions(竞争条件)
    • 确保没有 deadlocks (锁死)
    • 更多工作并发进行

    Communicaing Sequential Process(CSP)

    go 语言的并发模型设计是基于 CSP 设计
    通信顺序过程(CSP)是一种描述交互模式的语言。CSP 的美在于他简单,只要遵循下面 3 个原则就可以实现 CSP。erlang,ocaml 等于都是基于 CSP 设计并发模型。

    • Tony Hoare 1978 源于 1978 年
    1. 在每个进程中都是顺序执行代码的
    2. 进程中通讯不是基于共享数据,而是通过传递数据开进行通讯的,没有共享状态
    3. 只要添加相同结构就可以进行扩展,便于扩展。
    golang_channel.jpg

    相关文章

      网友评论

        本文标题:Go 的并发模式(上)(更新中)

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