sync.Mutex
sync.Mutex
可能是 sync
包中被广泛使用的原语。它允许对共享资源进行互斥操作(即不允许同时访问):
必须指出的是 sync.Mutex
无法被复制(就像 sync
包中的所有其他原语一样)。如果一个结构体有一个 sync
字段,必须通过指针进行传递。
sync.RWMutex
sync.RWMutex
是一个读写锁。它提供了与我们刚刚看到的 Lock()
和 Unlock()
相同的方法(因为这两个结构都实现了 sync.Locker
接口)。然而,它还允许使用 RLock()
和 RUnlock()
方法进行并发读取:
一个 sync.RWMutex
允许至少一个读取者或正好一个写入者,而一个 sync.Mutex
则允许正好一个读取者或写入者。
sync.WaitGroup
sync.Map
sync.Pool
sync.Once
sync.Cond
声明:本站所有文章,如无特殊说明或标注,均为本站原创发布。任何个人或组织,在未征得本站同意时,禁止复制、盗用、采集、发布本站内容到任何网站、书籍等各类媒体平台。如若本站内容侵犯了原著者的合法权益,可联系我们进行处理。