zoukankan      html  css  js  c++  java
  • Communicating sequential processes CSP 通信顺序进程 CSP writing to a file by name (process, Erlang) vs. writing to a file descriptor (channel, Go)

    the-way-to-go_ZH_CN/01.2.md at master · Unknwon/the-way-to-go_ZH_CN https://github.com/Unknwon/the-way-to-go_ZH_CN/blob/master/eBook/01.2.md

    在声明和包的设计方面,Go 语言受到 Pascal、Modula 和 Oberon 系语言的影响;在并发原理的设计上,Go 语言从同样受到 Tony Hoare 的 CSP(通信序列进程 Communicating Squential Processes)理论影响的 Limbo 和 Newsqueak 的实践中借鉴了一些经验,并使用了和 Erlang 类似的机制。

    Communicating sequential processes - Wikipedia https://en.wikipedia.org/wiki/Communicating_sequential_processes

    communicating sequential processes

    CSP 通信顺序进程 

    C.A.R.Hoare 1979

    CSP是一种用来描述并行系统交互模式的形式语言,最早由C.A.R.Hoare(1934-)在其1979年的一篇论文中提出。

    CSP对并发编程语言的设计有深远影响,受其影响的编程语言包括Limbo和Go等。

     https://www.cs.cmu.edu/~crary/819-f09/Hoare78.pdf

     https://xie.infoq.cn/article/a0880b7d215f7b82bc3a0380a

    https://github.com/lintide/GoConcurrencyPatterns

    Distinction

    Go is the latest on the Newsqueak-Alef-Limbo branch, distinguished by first-class channels.

    Erlang is closer to the original CSP, where you communicate to a process by name rather than over a channel.

    The models are equivalent but express things differently.

    Rough analogy: writing to a file by name (process, Erlang) vs. writing to a file descriptor (channel, Go).

     

     

     

  • 相关阅读:
    maven常用命令介绍(持续更新)
    JQ笔记
    AspNetPager学习使用2
    AspNetPager学习使用1
    VS2012添加ADO实体数据模型
    手动拍摄0008
    程序自动拍摄0007
    曝光补偿0006
    白平衡0005
    感光度0004
  • 原文地址:https://www.cnblogs.com/rsapaper/p/9479496.html
Copyright © 2011-2022 走看看