源码目录 time/time.go (1.1.4.1) 数据结构 从数据结构上看,timer和ticker其实是一样的。每个P都维护一个time...
源码 版本1.14.1 相关目录runtime/asm_amd64.sruntime/proc.goruntime/runtime2.go 关键...
近来无事,仿httprouter造一轮子gorouter gorouter 是一个轻便的HTTP API 路由库。 项目创建背景 之前一直使用大...
源码目录 ///sync.pool.go (1.14.1) 前言 sync.pool对象池是个好东西,避免对象的反复创建和回收。对于一些需要频繁...
源码目录 //runtime/runtime2.go。 (go 1.12.7) interface分为两类:iface和eface。eface不...
读写锁(RWMutex)是在互斥锁(Mutex)的基础上构建的。Mutex笔记见另一篇 那么为什么需要读写锁呢?试想一下,在读多写少的场景下,m...
老实说呢,Mutex源码我看了好多遍,依旧没完全看懂。各种状态逻辑很难理解。(golang 1.12.7) 先来看看Mutex的核心注释 数据结...
数据结构 Add Done Wait 小结 不可以复制,只能通过指针传递 最多可存放2^32个未执行完的goroutine wait和add不要...
前言 本文基于golang 1.12.7 linux-amd64 golang采用基于tcmalloc的内存管理。按分配内存大小采用不同策略: ...