写点什么

CSP

0 人感兴趣 · 3 次引用

  • 最新
  • 推荐
https://static001.geekbang.org/infoq/6c/6c0e47ecd4ec87e557abbaf0191f449f.png?x-oss-process=image/resize,w_416,h_234

Goroutine & Channel

用户头像
Vibyird8 月 26 日

Golang使用CSP模型实现并发,不同于多线程并发模型需要在竞态情形(race condition)下,通过复杂的锁机制确保资源正确使用。goroutine之间可以使用channel进行通信。Channel 可以看成一个 FIFO 队列,对 FIFO 队列的读写都是原子的操作,不需要加锁。

https://static001.geekbang.org/infoq/e6/e68377150f7fccbdfd87f862d78d661d.jpeg?x-oss-process=image/resize,w_416,h_234

Go 并发之 CSP 并发模型、协程并发

用户头像
Regan Yue8 月 7 日

CSP 即通信顺序进程、交谈循序程序,又被译为交换消息的循序程序(communicating sequential processes),它是一种用来描述并发性系统之间进行交互的模型。

https://static001.geekbang.org/infoq/75/7551bdde51c70be8dedc4586fb708476.png?x-oss-process=image/resize,w_416,h_234

Go 中的 Channel 背后的设计哲学

用户头像
soolaugust2020 年 12 月 24 日

Go的channel来源于经典理论CSP,我们以一个例子来说明这个理论的优势。

CSP_CSP资料文章-InfoQ写作平台