go互斥锁-牛翰网

go互斥锁

互斥锁的定义 type Mutex struct { state int32 sema uint32 } 一个 sema,背后实际上 是一个 休眠队列,可以看下上篇。 一个state,这个状态 分为4个部分。 后三位 各自代表一个状态。 前29位...
9个月前
05410
go读写锁-牛翰网

go读写锁

go读写锁 互斥锁每次只让一 g通过,去读写数据。但是读数据操作,并发其实没有问题。所以诞生了 读写锁。 读协程可以并发,一起读。但是 写协程还是要走互斥锁,只能一个个通过。 先加了读锁 先...
9个月前
0277
go 内存管理-牛翰网

go 内存管理

协程栈 go 栈的位置 1. Go 协程栈位于 Go-堆内存上 2. Go 堆内存位于操作系统虚拟内存上 go 栈的工作流程 以main.main为出发点 要记录runtime.main的栈基地址 记录 a 和 b的局部变量值 开辟一个...
9个月前
03413
go gc-牛翰网

go gc

垃圾回收 (Garbage Collecting)思路 1. "标记-清除〞 go的做法 2. "标记-整理〞 标记后删除, 删除后重新把内存空间整理 java 早期 3. "标记 - 复制〞 两块相似的内存, 直接把有...
9个月前
03614