概念
channel
Go语言内建的goroutine间通信与同步机制,作为类型化管道传递数据,分为无缓冲和有缓冲两种,体现了CSP通过通信共享内存的设计哲学。
时间轴 (近 90 天)
10月21日
Go 的并发模型基于 goroutine 和 channel,goroutine 初始栈仅几 KB,可轻松创建数十万个
待验证50%
10月17日
Erlang的Actor模型和Go的channel机制通过不共享内存、消息通信的方式避免了共享可变状态,直觉上更友好,但引入了消息时序、邮箱溢出、监督树设计等新的学习成本。
待验证50%
9月27日
Go 通过 goroutine 和 channel 提供了一套内建的并发原语
待验证50%
9月27日
channel 分为无缓冲和有缓冲两种,无缓冲 channel 发送操作会阻塞直到接收方准备好,有缓冲 channel 在缓冲区未满时发送不阻塞
待验证50%
9月27日
select 语句可监听多个 channel,配合 default 实现非阻塞操作,配合 time.After 实现超时控制
待验证50%
全部知识事实 (5)
待验证
Go 的并发模型基于 goroutine 和 channel,goroutine 初始栈仅几 KB,可轻松创建数十万个
50%待验证Erlang的Actor模型和Go的channel机制通过不共享内存、消息通信的方式避免了共享可变状态,直觉上更友好,但引入了消息时序、邮箱溢出、监督树设计等新的学习成本。
50%待验证Go 通过 goroutine 和 channel 提供了一套内建的并发原语
50%待验证channel 分为无缓冲和有缓冲两种,无缓冲 channel 发送操作会阻塞直到接收方准备好,有缓冲 channel 在缓冲区未满时发送不阻塞
50%待验证select 语句可监听多个 channel,配合 default 实现非阻塞操作,配合 time.After 实现超时控制
50%