谈谈自己对GO的Mutex的理解

目前GO已经更新到了1.14的版本咱们一般人如果直接去看mutex的源码的话,其实是比较难理解为什么写成了现在这个样子,尤其是加锁里面的各种逻辑判断太多了,各种位运算一脸懵逼,其实我们只要掌握它最初的设计思想,那么后面新增的逻辑,理解起来都很简单了。 Mutex最初版本 Mutex第一版代码加上注释不过才109行。非常精简,下面介绍一下我对第一版Mutex源码的理解 // Mutex有state和sema两个成员变量,这一点是在1.14没有变化的 // 其中 state 字段代表当前锁的状态,s...阅读全文

2020-07-24 10:32:33 iuoui
阅读:705 评论:0

golang 源代码阅读,sync 系列

1. [WaitGroup实现:](https://blog.csdn.net/u014763610/article/details/115981718?spm=1001.2014.3001.5501)goroutine集合的管理 2. [互斥锁实现:](https://blog.csdn.net/u014763610/article/details/116245941?spm=1001.2014.3001.5501) 互斥锁 3. [读写互斥锁实现:](https://blog.csdn....阅读全文

2021-05-09 10:31:22 aseto
阅读:1620 评论:0