go语言协程实现机制 go语言如何限制协程数量( 五 )


评论
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
【go语言协程实现机制 go语言如何限制协程数量】关于go语言协程实现机制和go语言如何限制协程数量的介绍到此就结束了,不知道你从中找到你需要的信息了吗 ?如果你还想了解更多这方面的信息,记得收藏关注本站 。

推荐阅读