Go 语言标准库 sync 提供了 2 种锁,互斥锁(sync.Mutex)和读写锁(sync.RWMutex)。
互斥即不可同时运行。即使用了互斥锁的两个代码片段互相排斥,只有其中一个代码片段执行完成后,另一个才能执行。
Go 标准库中提供了 sync.Mutex 互斥锁类型及其两个方法:
Lock 加锁
Unlock 释放锁
一种特殊类型的锁,其允许多个只读操作并行执行,但写操作会完全互斥。
这种锁称之为 多读单写锁 (multiple readers, single writer lock),简称读写锁