Communication Sequential Process(简称CSP),通信顺序进程,这个思维最早是1977年Tony Ho are提出的,CSP的局部引入这被认为是Go语言在并发编程上胜利的关键因素。

  • 大多数语言的并发编程是基于线程和内存同步的访问控制。
  • Go语言的并发编程是基于goroutine【CSP思维中的process】和chanel【CSP思维中的chanel】来代替。

哲学:尽量多应用chanel,goroutine来执行并发工作,chanel用来海鲜goroutine之间的同步通信, 能够把chanel了解为在不同goroutine之间的桥梁,从而实现不同goroutine 之间的通信。并且chanel是线程平安的,用起来也非常平安不便。

参考:bilibili