位置: IT常识 - 正文

java非公平锁如何理解(java公平锁有哪些)

编辑:rootadmin

推荐整理分享java非公平锁如何理解(java公平锁有哪些),希望有所帮助,仅作参考,欢迎阅读内容。

文章相关热门搜索词:java synchronized 公平锁,java非公平锁实现,java非公平锁实现,java synchronized 公平锁,java 非公平锁,druid非公平锁,java 非公平锁,java公平锁和非公平锁实现原理,内容如对您有帮助,希望把文章链接给更多的朋友!

java非公平锁如何理解(java公平锁有哪些)

632

1、非公平锁不能保证锁的获取是按照请求锁的顺序进行的。这可能会导致某个或某些线程永远得不到锁。

2、CPU唤醒线程的费用可以降低,整体吞吐效率会很高。但是可能会有线程长时间甚至永远得不到锁,导致饿死。

实例

/***Syncobjectfornon-fairlocks*/staticfinalclassNonfairSyncextendsSync{privatestaticfinallongserialVersionUID=7316153563782823691L;/***Performslock.Tryimmediatebarge,backinguptonormal*acquireonfailure.*/finalvoidlock(){if(compareAndSetState(0,1))setExclusiveOwnerThread(Thread.currentThread());elseacquire(1);protectedfinalbooleantryAcquire(intacquires){returnnonfairTryAcquire(acquires);/***Syncobjectforfairlocks*/staticfinalclassFairSyncextendsSync{privatestaticfinallongserialVersionUID=-3000897897090466540L;finalvoidlock(){acquire(1);/***FairversionoftryAcquire.Don'tgrantaccessunless*recursivecallornowaitersorisfirst.*/protectedfinalbooleantryAcquire(intacquires){finalThreadcurrent=Thread.currentThread();intc=getState();if(c==0){if(!hasQueuedPredecessors()&&compareAndSetState(0,acquires)){setExclusiveOwnerThread(current);returntrue;elseif(current==getExclusiveOwnerThread()){intnextc=c+acquires;if(nextc<0)thrownewError("Maximumlockcountexceeded");setState(nextc);returntrue;returnfalse;
本文链接地址:https://www.jiuchutong.com/zhishi/310665.html 转载请保留说明!

上一篇:Java学习-第一部分-第二阶段-第六节:泛型(java初学者教程)

下一篇:微信小程序实现顶部固定底部分页滚动效果(微信小程序实现支付功能)

  • 工会经费计税依据包括社保吗
  • 滞纳税款和滞纳金比例
  • 从价从量复合计征
  • 汇算清缴企业所得税弥补亏损明细表怎么填
  • 出口退税中的免抵税额可以认为是交的税吗
  • 收银设备如何入账的
  • 开发产品计入什么科目
  • 人力资源劳务费发票税率
  • 去年的原材料发票能入账吗
  • 一般纳税人企业所得税政策最新2023税率
  • 法院拍卖房法院有什么义务和责任
  • 全年一次性奖金计税方式
  • 其他应收款通俗
  • 深圳税种核定需要申报吗
  • 小规模纳税人购车好处
  • 记账凭证按照填列方式的分类包括
  • 每股收益怎么计算净利润
  • 营改增后兼营非应税劳务的税务处理怎么做?
  • 企业无形资产包括
  • 政府返还的资金如何处理
  • 投资收益科目的借贷方向
  • 在电脑中设置一键换机
  • 咨询公司流程完整
  • php odbc
  • 借支单怎么写才受法律保护
  • g++.exe error
  • 购货方开具红字发票怎么做账
  • 出口免税和退税交附加税
  • php函数写法
  • php制作验证码
  • Yii1.1中通过Sql查询进行的分页操作方法
  • thinkphp update方法
  • php使用正则表达式检测是否包含非数字
  • phptime函数
  • 关于预付账款的特点
  • python闭包主要解决什么问题
  • 嵌入式软件产品税率
  • 房屋租赁需要计增值税吗
  • 待摊费用的明细
  • 上年度会计凭证怎么填写
  • python byte数组
  • 所得税汇算清缴调整项目
  • 无法收到的租金要交房产税吗
  • 综合所得算税公式
  • 社保里面的住房公积金买房可以便宜多少
  • 管理费用明细科目大全
  • 建筑业简易计税预交
  • 公司员工报销没有发票挂内账有风险吗
  • 银行结息交易是扣钱的意思吗
  • 售后更换零件的申请
  • 注册资本及构成
  • 企业无力支付票据时应计入
  • 货款和发票金额一样吗
  • 免抵退退税额
  • 生物性资产是什么科目
  • 计提工资发工资可做成一笔账吗
  • 进项税额转出怎么操作
  • 批量游标
  • mysql根据时间查询最新一条数据
  • mysql 5.7.17 winx64安装配置图文教程
  • windows禁止安装
  • ubuntu20.4配置ip
  • mac系统制作
  • WINDOWS命令行为什么删除速度很快
  • win7进运行
  • win7系统如何修复引导
  • win7怎么禁用软件
  • 使用jquery
  • node.js console.log
  • python批量下载文件
  • centos 开机启动程序
  • node怎么实现多线程
  • js table
  • javascript例题
  • 浅析是什么意思
  • 关于挂职的规定
  • 红字发票税务局不愿意退税怎么处理
  • 税务局绩效工作总结
  • 税务工作者发展现状
  • 上海社保卡原始密码是啥
  • 免责声明:网站部分图片文字素材来源于网络,如有侵权,请及时告知,我们会第一时间删除,谢谢! 邮箱:opceo@qq.com

    鄂ICP备2023003026号

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

    友情链接: 武汉网站建设