分类: Golang

5 篇文章

Golang基础——GMP模型
参考: Go 语言调度器与 Goroutine 实现原理 | Go 语言设计与实现 (draveness.me) G-M-P模型:M为线程(内核态),P为调度器,G为Goroutine 该模型是Golang的协程Goroutine的主要运作设计。P调度器实际上作为中间层,依一定条件持有M线程,对加入其持有的可运行G协程环形队列runq从队列头开始分…
Golang基础——HashMap实现
参考列表: 理解 Golang 哈希表 Map 的原理 | Go 语言设计与实现 哈希表(或曰字典、映射)本身指示的是集合中键值间的映射关系,其实现依赖: 哈希函数 完成键-索引映射的关键函数,因而也很大程度上决定了哈希表读写性能。理论上完美哈希函数为输出范围大于输入范围;但实践中,键数远大于函数可映射范围,故哈希冲突有必然性。 关键点:高效键-索…
Golang基础——Chan实现
参考列表: Go语言chan实现原理,彻底搞懂chan读写机制_Go 语言_微客鸟窝_InfoQ写作社区golang chan 最详细原理剖析,全面源码分析!看完不可能不懂的! - 知乎 (zhihu.com) /* Channel数据结构 * 缓冲区本质为环形队列, * 通过sendx、recvx索引缓冲区和recvq、sendq Gorouti…