位置: IT常识 - 正文

java读写锁的特性(java 读写锁 map)

编辑:rootadmin

推荐整理分享java读写锁的特性(java 读写锁 map),希望有所帮助,仅作参考,欢迎阅读内容。

文章相关热门搜索词:java中读写锁,java读写锁的使用场景,java读写锁源码分析,java读写锁的使用场景,java读写锁的使用场景,java读写锁源码分析,java读写锁的使用场景,java读写锁的使用场景,内容如对您有帮助,希望把文章链接给更多的朋友!

java读写锁的特性(java 读写锁 map)

626

1、公平选择性,支持非公平和公平锁获取,吞吐量不公平优于公平。

2、重进入,读锁和写锁都支持线程重进入。

3、锁降级,遵循获取写锁、获取读锁、释放写锁的顺序,写锁可以降级为读锁。

实例

publicclassReadWriteLockTest{publicstaticvoidmain(String[]args){finalQueueq=newQueue();for(inti=0;i<3;i++){newThread(){@Overridepublicvoidrun(){while(true){q.get();.start();newThread(){@Overridepublicvoidrun(){while(true){q.put(newRandom().nextInt(10000));.start();classQueue{//共享数据,只能有一个线程能写该数据,但可以有多个线程同时读该数据。ReadWriteLockrwl=newReentrantReadWriteLock();privateObjectdata=null;//共享数据,只能有一个线程能写数据,但可以有多个线程读该数据publicvoidget(){//上读锁,其他线程只能读不能写rwl.readLock().lock();try{System.out.println(Thread.currentThread().getName()+"bereadytoreaddata!");Thread.sleep((long)(Math.random()*1000));System.out.println(Thread.currentThread().getName()+"havereaddata:"+data);catch(InterruptedExceptione){e.printStackTrace();finally{rwl.readLock().unlock();publicvoidput(Objectdata){//上写锁,不允许其他线程读也不允许写rwl.writeLock().lock();try{System.out.println(Thread.currentThread().getName()+"bereadytowritedata!");Thread.sleep((long)(Math.random()*1000));this.data=data;System.out.println(Thread.currentThread().getName()+"havewritedata:"+data);catch(InterruptedExceptione){e.printStackTrace();finally{rwl.writeLock().unlock();
本文链接地址:https://www.jiuchutong.com/zhishi/310457.html 转载请保留说明!

上一篇:windows7/windows10/windows11最强Audacity音频编辑播放器软件,免费下载

下一篇:phpcms 1064错误的解决办法

  • 企业所得税研发费用加计扣除条件
  • 增值税的账务处理 月末怎么结转 案例
  • 广告公司可以不交社保吗
  • 存货盘亏计入哪个会计科目
  • 2020年小规模纳税人增值税起征点
  • 算税负是用含税的吗
  • 税务局的信用等级是多少
  • 电子税务局怎么登录
  • 水利建设专项收入的计税依据是什么?
  • 债券到期收益率计算器
  • 社保次月缴纳上月算不算中断
  • 代扣个人社保的账务处理
  • 可以向国外账户汇人民币吗
  • 出口货款收不回来怎么办
  • 教育服务增值税纳税义务发生时间
  • 废料账务处理
  • 当月作废的专票需要开负数发票么
  • 审计费用收取标准的2020
  • 小规模纳税人的季度
  • 销售类合同审核要点
  • 公司是否有审计资质
  • 社保支付账号是什么
  • 个人独资企业生产经营费用与家庭生活费用
  • 交易性金融资产公允价值变动计入
  • 新版edge浏览器兼容性视图怎么设置
  • 高新技术企业研究开发费用加计扣除
  • vpengine.exe进程
  • 其他业务收入跨年调账
  • 如何暂停win11更新
  • PHP:ftp_nb_get()的用法_FTP函数
  • 现金付款凭证是什么意思
  • laravel with查询指定字段
  • laravel视频教程
  • 工地临时设施搭设原则是什么?
  • 收不回的应收账款会计分录
  • 短期借款产生的利息进入总账吗
  • laravel实战教程
  • php js
  • 既简单又安全的小实验
  • 运筹最优化方法有哪些
  • php读取文件内容的方法和函数
  • 破解版微擎框架如何升级
  • 应收账款周转率多少合适
  • 设计模式模板方法和策略模式对比
  • 工会筹备金和工会经费滞纳金计算一样吗
  • 销项负数发票能作废吗
  • sqlserver2008数据库还原
  • mysql 死锁处理
  • 发票红冲要去税务局吗
  • 新成立企业多长时间可以销售小微企业
  • 库存商品结转成本的金额怎么计算
  • 交易性金融资产公允价值变动怎么算
  • 材料采购合同印花税税率
  • 外国人避税
  • 收到对方的银行汇票算什么凭证
  • 滞纳金一般什么时候交
  • 资产处置费用是资产类科目吗
  • 对公账户提取备用金怎么做账
  • 银行对账单和回单有什么区别
  • 结算专用章是财务章吗
  • 企业是否必须建立巡察制度
  • mysql删除重复字段
  • mysql批量更新多条数据
  • ubuntu多桌面切换
  • OS X Yosemite系统下载失败怎么办?OS X 10.10下载错误解决方法
  • win7关掉wifi
  • 设置全局
  • [置顶] 关于UNITY5.0和高通AR4.2.3在手机上白屏的问题
  • css 间距
  • js原生dialog
  • jqurey+Jscex打造游戏力度条
  • unity调色插件
  • android+
  • javascript面向对象编程指南
  • jquery.serialize() 函数语法及简单实例
  • android打包v1v2
  • 税收征管法规定税务机关在税款征收中可以采取哪些措施
  • 如何撤销工商注册登记
  • 注册管理税务师和注册税务师的区别
  • 契税补贴网上申请
  • 免责声明:网站部分图片文字素材来源于网络,如有侵权,请及时告知,我们会第一时间删除,谢谢! 邮箱:opceo@qq.com

    鄂ICP备2023003026号

    网站地图: 企业信息 工商信息 财税知识 网络常识 编程技术

    友情链接: 武汉网站建设