240 发简信
IP属地:贵州
  • golang 源码学习之timer/ticker

    源码目录 time/time.go (1.1.4.1) 数据结构 从数据结构上看,timer和ticker其实是一样的。每个P都维护一个time...

  • Resize,w 360,h 240
    golang 源码学习之GMP (goroutine)

    源码 版本1.14.1 相关目录runtime/asm_amd64.sruntime/proc.goruntime/runtime2.go 关键...

  • gorouter

    近来无事,仿httprouter造一轮子gorouter gorouter 是一个轻便的HTTP API 路由库。 项目创建背景 之前一直使用大...

  • Resize,w 360,h 240
    golang源码学习之sync.pool

    源码目录 ///sync.pool.go (1.14.1) 前言 sync.pool对象池是个好东西,避免对象的反复创建和回收。对于一些需要频繁...

  • Resize,w 360,h 240
    golang 源码学习之interface

    源码目录 //runtime/runtime2.go。 (go 1.12.7) interface分为两类:iface和eface。eface不...

  • golang源码学习之RWMutex

    读写锁(RWMutex)是在互斥锁(Mutex)的基础上构建的。Mutex笔记见另一篇 那么为什么需要读写锁呢?试想一下,在读多写少的场景下,m...

  • golang源码学习之mutex

    老实说呢,Mutex源码我看了好多遍,依旧没完全看懂。各种状态逻辑很难理解。(golang 1.12.7) 先来看看Mutex的核心注释 数据结...

  • golang 源码学习之WaitGroup

    数据结构 Add Done Wait 小结 不可以复制,只能通过指针传递 最多可存放2^32个未执行完的goroutine wait和add不要...

  • golang源码学习之内存管理-分配

    前言 本文基于golang 1.12.7 linux-amd64 golang采用基于tcmalloc的内存管理。按分配内存大小采用不同策略: ...