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).

     

     

     

  • 相关阅读:
    LCD实验学习笔记(八):中断
    LCD实验学习笔记(七):NAND FLASH
    LCD实验学习笔记(六):存储控制器
    LCD实验学习笔记(五):MMU
    博客已经迁移
    什么是全栈工程师
    深入解析Django Admin模块
    Firefox OS 指导方针-字体
    Firefox OS 指导方针-调色板
    Firefox OS 指导方针-简介
  • 原文地址:https://www.cnblogs.com/rsapaper/p/9479496.html
Copyright © 2011-2022 走看看