當前位置:編程學習大全網 - 網站源碼 - Go CSP並發模型

Go CSP並發模型

Go的CSP並發模型

Go實現了兩種並發形式。第壹種是大家普遍認知的:多線程***享內存。其實就是Java或者C++等語言中的多線程開發。另外壹種是Go語言特有的,也是Go語言推薦的:CSP(communicating sequential processes)並發模型。

CSP 是 Communicating Sequential Process 的簡稱,中文可以叫做通信順序進程,是壹種並發編程模型,由 Tony Hoare 於 1977 年提出。簡單來說,CSP 模型由並發執行的實體(線程或者進程)所組成,實體之間通過發送消息進行通信,這裏發送消息時使用的就是通道,或者叫 channel。CSP 模型的關鍵是關註 channel,而不關註發送消息的實體。 Go 語言實現了 CSP 部分理論

“ 不要以***享內存的方式來通信,相反, 要通過通信來***享內存。”

Go的CSP並發模型,是通過 goroutine和channel 來實現的。

goroutine 是Go語言中並發的執行單位。其實就是協程。

channel是Go語言中各個並發結構體(goroutine)之前的通信機制。 通俗的講,就是各個goroutine之間通信的”管道“,有點類似於Linux中的管道。

Channel

Goroutine

  • 上一篇:《黑社會全集》txt
  • 下一篇:vue界面看到原信息後顯示新信息
  • copyright 2024編程學習大全網