Go sync包
Mutex 无需显式初始化,直接声明变量即可使用。 互斥锁,同一时刻只能有一个协程持有锁,不分读写。 方法 含义 说明 Lock 加锁 Unlock 解锁 未加锁时调用会导致panic TryLock 尝试加锁 立即返回,成功返回true,失败返回false RWMutex 无需显式初始化,直接声明变量即可使用。 读写锁,同一时刻可以有多个协程持有读锁,但是只能有一个协程持有写锁。 有写锁时,其他协程无法获取读锁和写锁。 有读锁时,其他协程可以获取读锁,但是无法获取写锁。 方法 含义 说明 RLock 加读锁 RUnlock 解读锁 未加读锁时调用会导致panic TryRLock 尝试加读锁 立即返回,成功返回true,失败返回false Lock 加写锁 Unlock 解写锁 未加写锁时调用会导致panic TryLock 尝试加写锁 立即返回,成功返回true,失败返回false Map 无需显式初始化,直接声明变量即可使用。 方法 含义 说明 Store 存储键值对 Load 加载键对应的值 Delete 删除键对应的值 Clear 清除所有键值对 Swap 交换指定键对应的旧值和新值,并返回旧值和操作之前键是否存在 LoadAndDelete 加载键对应的值并删除键值对 LoadOrStore 加载键对应的值,如果键不存在则存储键值对 CompareAndDelete 比较键对应的值是否等于指定值,如果相等则删除键值对 CompareAndSwap 比较键对应的值是否等于指定值,如果相等则替换键对应的值 Range 遍历键值对 传入函数返回false时停止遍历 WaitGroup 无需显式初始化,直接声明变量即可使用。 方法 含义 说明 Add 添加计数器 启动协程前调用,传入协程数量 Done 减少计数器 协程执行完毕后调用 Wait 等待计数器变为0 主协程调用,等待所有协程执行完毕 Once 无需显式初始化,直接声明变量即可使用。 方法 含义 说明 Do 执行函数 传入函数,只会执行一次 Pool 需显式初始化,为New指定创建对象的函数。...