RWMutex 注意事项

RWMutex 是单写多读锁,该锁可以加多个读锁或者一个写锁
⚫ 读锁占用的情况下会阻止写,不会阻止读,多个 Goroutine 可以同时获取
读锁
⚫ 写锁会阻止其他 Goroutine(无论读和写)进来,整个锁由该 Goroutine
独占
⚫ 适用于读多写少的场景
⚫ RWMutex 类型变量的零值是一个未锁定状态的互斥锁
⚫ RWMutex 在首次被使用之后就不能再被拷贝
⚫ RWMutex 的读锁或写锁在未锁定状态,解锁操作都会引发 panic
⚫ RWMutex 的一个写锁去锁定临界区的共享资源,如果临界区的共享资源已
被(读锁或写锁)锁定,这个写锁操作的 goroutine 将被阻塞直到解锁
⚫ RWMutex 的读锁不要用于递归调用,比较容易产生死锁
⚫ RWMutex 的锁定状态与特定的 goroutine 没有关联。一个 goroutine 可
以 RLock(Lock),另一个 goroutine 可以 RUnlock(Unlock)
⚫ 写锁被解锁后,所有因操作锁定读锁而被阻塞的 goroutine 会被唤醒,并
都可以成功锁定读锁
⚫ 读锁被解锁后,在没有被其他读锁锁定的前提下,所有因操作锁定写锁而
被阻塞的 Goroutine,其中等待时间最长的一个 Goroutine 会被唤醒

相关推荐

  1. RWMutex 注意事项

    2023-12-30 20:02:07       34 阅读
  2. 数组 注意事项

    2023-12-30 20:02:07       28 阅读
  3. 换房注意事项

    2023-12-30 20:02:07       43 阅读
  4. Unity 开发注意事项

    2023-12-30 20:02:07       28 阅读
  5. 国产系统注意事项

    2023-12-30 20:02:07       12 阅读

最近更新

  1. TCP协议是安全的吗?

    2023-12-30 20:02:07       16 阅读
  2. 阿里云服务器执行yum,一直下载docker-ce-stable失败

    2023-12-30 20:02:07       16 阅读
  3. 【Python教程】压缩PDF文件大小

    2023-12-30 20:02:07       15 阅读
  4. 通过文章id递归查询所有评论(xml)

    2023-12-30 20:02:07       18 阅读

热门阅读

  1. 3、漫谈分布式系统、拜占庭将军问题与区块链

    2023-12-30 20:02:07       28 阅读
  2. 使用 git-cherry-pick 迁移提交

    2023-12-30 20:02:07       36 阅读
  3. 解决在Android Compose中点击空白处收回软键盘

    2023-12-30 20:02:07       33 阅读
  4. 第八周:AIPM面试准备

    2023-12-30 20:02:07       38 阅读
  5. 如何基于PyTorch框架自定义数据集类获取数据

    2023-12-30 20:02:07       35 阅读
  6. 设计模式之模板方法

    2023-12-30 20:02:07       35 阅读
  7. 【DB2】运行preprpnode的时候报错

    2023-12-30 20:02:07       35 阅读
  8. C++音视频开发技巧汇总(持续更新)

    2023-12-30 20:02:07       34 阅读