在使用 Golang 做并发编程的过程中,锁
是开发中必不可少的工具之一,它可以避免多协程对共享资源的并发读写,通过加锁来解决对共享资源的并发控制。
在 Go 语言中提供了互斥锁sync.Mutex{}
和读写锁sync.RWMutex{}
。他们都实现了sync.Locker
接口:
// A Locker represents an object that can be locked and unlocked.
type Locker interface {
Lock()
Unlock()
}