“是时候好好理清那些重要的基础概念和系统知识了” ——很久之后,当你从泥泞的业务项目代码中脱身时,总是会这样想到。
本文主要是对阅读过的一些好的博客文章做一个汇总整理(参考博客地址见文章末尾),为了查阅方便,以及防止哪天这些博客的文章意外不见
很长时间以来,对于锁&原子操作这些概念术语总是理解的很模糊,知其然不知所以然。想尽量的理清它们在通常意义上在大家口中所指的含义,以后沟通或者看相关的文章都可以节省一些成本。
基于这些搜罗了一些这方面的博客和文章,加上自己的理解,基于 Golang 对于其中的一些基础概念和关系的总结。
一图胜千言:
参考博客:
Go之深入理解mutex:http://blog.newbmiao.com/2020/07/01/dig101-golang-understanding-mutex.html
Golang中的CAS原子操作 和 锁:https://blog.haohtml.com/archives/25881
Golang WaitGroup 原理深度剖析:https://www.cyhone.com/articles/golang-waitgroup/
Dig101-Go之聊聊struct的内存对齐:http://blog.newbmiao.com/2020/02/10/dig101-golang-struct-memory-align.html
一文彻底搞懂CAS实现原理 & 深入到CPU指令:https://zhuanlan.zhihu.com/p/94976168
MESI:https://www.scss.tcd.ie/Jeremy.Jones/VivioJS/caches/MESIHelp.htm