首页 > 其他分享 >070_读写锁 ReadWriteLock

070_读写锁 ReadWriteLock

时间:2022-11-15 21:11:09浏览次数:52  
标签:lock 演示 070 写锁 ReadWriteLock 读写 线程 readWriteLock 共存

目录

简介

:::info
读可以被多线程同时读,写的时候只能有一个线程去写
读-读,可以共存
读-写,不能共存
写-写,不能共存
读锁是共享锁,多个线程可以同时占有
写锁是独占锁,一次只能被一个线程占有
读锁 readWriteLock.readLock().lock() readWriteLock.readLock().unlock()
写锁 readWriteLock.wrIteLock().lock() readWriteLock.wrIteLock().unlock()
:::
image.png
image.png

演示代码

:::info
读可以被多线程同时读,写的时候只能有一个线程去写
:::

不加锁演示

:::info
正常业务,写入的时候,应该只有一个线程去写,现在的结果显示线程1写入时,线程5也执行了,错误
:::
image.png
image.png
image.png

读写锁演示

:::info
读可以被多线程同时读,写的时候只能有一个线程去写
读-读,可以共存
读-写,不能共存
写-写,不能共存
读锁是共享锁,多个线程可以同时占有
写锁是独占锁,一次只能被一个线程占有
读锁 readWriteLock.readLock().lock() readWriteLock.readLock().unlock()
写锁 readWriteLock.wrIteLock().lock() readWriteLock.wrIteLock().unlock()
:::
image.png
image.png
image.png
image.png
image.png

标签:lock,演示,070,写锁,ReadWriteLock,读写,线程,readWriteLock,共存
From: https://www.cnblogs.com/wl3pb/p/16893939.html

相关文章

  • 20220701- IO_FILE专题
    2022/07/01IO_FILE专题IO_FILE相关结构体首先我们知道内核启动的时候默认打开3个I/O设备文件,标准输入文件stdin,标准输出文件stdout,标准错误输出文件stderr,分别得到文件......
  • FusionInsight MRS Flink DataStream API读写Hudi实践
    摘要:目前Hudi只支持FlinkSQL进行数据读写,但是在实际项目开发中一些客户存在使用FlinkDataStreamAPI读写Hudi的诉求。本文分享自华为云社区《​​FusionInsightMRSFlink......
  • FusionInsight MRS Flink DataStream API读写Hudi实践
    摘要:目前Hudi只支持FlinkSQL进行数据读写,但是在实际项目开发中一些客户存在使用FlinkDataStreamAPI读写Hudi的诉求。本文分享自华为云社区《FusionInsightMRSFlink......
  • C温故补缺(十一):文件读写
    文件读写打开文件fopen() 函数来创建一个新的文件或者打开一个已有的文件FILE*fopen(constchar*filename,constchar*mode);filename 是文件的路径,用来命名......
  • 读写U盘(FAT32)引导扇区
    参考:https://blog.csdn.net/zhanglei8893/article/details/5912903看了《自己动手写操作系统》后,也想自己打造一个迷你操作系统,但是书中使用的软盘现在基本已经绝迹了,而U......
  • python之文件读写
    ###这段代码是用于读文件、写文件###fromsysimportargvfromos.pathimportexistsscript,from_file,to_file=argv#获取文件内容in_file=open(from_file......
  • S7.NET读写西门子字符串处理
    S7.NET读写西门子字符串处理由于西门子字符串存储跟C#字符串的存储格式不一样,在与西门子通讯时,在解析/编码字符串时需要特殊处理。在没有看到S7.NET开源库前,一直都在琢磨......
  • 本地文件读写 js
    <!DOCTYPEhtml><html>  <head>    <metacharset="utf-8">    <title>本地文件读写</title>  </head>  <scripttype="text/javascri......
  • NC207040 丢手绢
    题目描述链接:https://ac.nowcoder.com/acm/problem/207040来源:牛客网牛客幼儿园的小朋友们围成了一个圆圈准备玩丢手绢的游戏,但是小朋友们太小了,不能围成一个均匀的圆圈......
  • win11 22H2 无法正确共享打印机 出现打印机名称不正确 0x00000709
    2022年上半年给单位的电脑安装win11后,文件夹可以共享写入,但打印机无法共享,只能装回win10系统,后来win11出了21H2,装上后,开始可以打印机共享打印,后来又不行了,出现0x0000011b错......