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