多协程同步是每一个 Go 开发者都必须面对的问题。传统的多线程程序往往基于共享内存实现多线程同步, Go 语言在此之上还提供了管道-协程的 CSP 同步模型,这也是 Go 语言推荐的方案。
1. 什么是并发问题
1.1 并发问题引入
1.2 并发操作切片
1.3 并发操作字符串
1.4 多核 CPU 架构引入的并发问题
-
CSP并发模型
-
基于锁的协程同步
Go 语言还提供了基于锁 (共享内存) 的协程同步方案.
3.1 乐观锁
3.2 悲观锁
4.如何并发操作 map
5.并发控制 sync.WaitGroup
6.并发对象池 sync.Pool
-
如何实现单例模式
-
并发检测