知识卡片

通信优先于共享

专业/工作 · 471.b

内容

goroutine 很轻,channel 能在 goroutine 间发送带类型消息,使并发模型倾向消息通信,而不是争抢共享数据。发散:把数据所有权随消息转移,往往比给共享对象到处加锁更清晰。[[调度器管理执行时间]]的运行时机制和[[无缓冲通道同步交接]]的交接语义,都是这一设计取向的具体落地。

参考来源

- 位置:《Go语言实战》第1章《关于Go语言的介绍》(源文件:_epub-src/OEBPS/Text/part0011.xhtml) - 结论依据:原文围绕“通道(channel)是一种内置的数据结构”给出定义、机制、流程、对比或限制条件,本卡片据此提炼可迁移的 Go 语言/工程结论,并补充边界或实践启发。 - 原始内容:通道(channel)是一种内置的数据结构,可以让用户在不同的goroutine之间同步发送具有类型的消息。