知识卡片

Hchan是通道实体

专业/工作 · 470.b.1.a.1.c.3.a.8.e.1.b.1

内容

运行时用 hchan 结构保存缓冲区、等待队列和锁等信息,支撑 channel 收发。发散:看见 hchan,就能理解 channel 不是魔法,而是一套同步数据结构。对应的语言层概念见[[Channel表达通信]]。

参考来源

- 位置:《Go语言入门到实战(共3册)》第44章《Go语言学习笔记:第19章 通道》(源文件:_epub-src/text/part0121.html) - 结论依据:原文围绕“type hchan struct”给出定义、机制、流程、对比或限制条件,本卡片据此提炼可迁移的语言/工程结论,并补充了边界或实践启发。 - 原始内容:ting Sequential Process. 19.1 创建 同步和异步的区别,在于是否有缓冲槽。 chan.go type hchan struct { dataqsiz uint // 缓冲槽大小(可存储数据项数量) buf unsafe.Pointer // 缓冲槽指针 elemsize……