当前位置: 首页 > wzjs >正文

网站系统搭建前端工程师招聘

网站系统搭建,前端工程师招聘,如何重装一下wordpress,推广关键词优化公司在Java中,锁的实现主要通过java.util.concurrent.locks包下的Lock接口及其实现类(如ReentrantLock)来完成。这些锁提供了比synchronized关键字更灵活的锁定机制,包括公平锁(Fair Lock)和非公平锁&#xff0…

在Java中,锁的实现主要通过java.util.concurrent.locks包下的Lock接口及其实现类(如ReentrantLock)来完成。这些锁提供了比synchronized关键字更灵活的锁定机制,包括公平锁(Fair Lock)和非公平锁(Non-fair Lock)。

1. 公平锁与非公平锁的区别

公平锁(Fair Lock):公平锁会按照请求锁的顺序来依次获得锁,即按照线程请求锁的顺序来分配锁,保证了线程调度的公平性。在ReentrantLock中,可以通过构造函数指定是否为公平锁,例如:

Lock fairLock = new ReentrantLock(true); // 创建公平锁

非公平锁(Non-fair Lock):非公平锁在尝试获取锁时会直接尝试,而不是按照请求的顺序,这通常会导致某些线程可能会更快地获得锁,但这也可能导致某些线程饥饿(即长时间无法获取锁)。在ReentrantLock中,如果不指定为公平锁,则默认为非公平锁:

Lock unfairLock = new ReentrantLock(); // 默认创建非公平锁

2. 实现原理

非公平锁

非公平锁的实现通常依赖于CASCompare-And-Swap)操作或者通过一个简单的循环尝试来获取锁。当线程尝试获取锁时,它会检查锁的状态:

  • 如果锁当前未被占用,线程会尝试立即获取锁。

  • 如果锁已被其他线程占用,线程会直接进入等待状态,或者在下次调度时再次尝试获取。

这种实现方式简单且高效,但可能导致某些线程饥饿。

公平锁

公平锁的实现通常涉及到更多的调度逻辑,以确保线程按照请求的顺序获取锁。在ReentrantLock中,公平锁的实现通常涉及到维护一个队列(如AbstractQueuedSynchronizer中的队列),线程在请求锁时会先尝试将自身加入到等待队列的末尾,然后按照队列中的顺序来获取锁。具体步骤如下:

  1. 线程请求锁时,首先检查是否有线程在等待队列中。

  2. 如果有,则当前线程会被放置在队列的末尾。

  3. 持有锁的线程释放锁后,会从队列头部取出下一个线程(即队列中最先等待的线程),并允许其获取锁。

3. 代码示例

非公平锁示例

Lock lock = new ReentrantLock(); // 默认非公平锁
lock.lock();
try {// 临界区代码
} finally {lock.unlock();
}

公平锁示例

Lock fairLock = new ReentrantLock(true); // 创建公平锁
fairLock.lock();
try {// 临界区代码
} finally {fairLock.unlock();
}

通过使用ReentrantLock,我们可以根据需要选择公平或非公平的锁定策略,以优化多线程应用性能和资源分配策略。


文章转载自:

http://zoOVqans.pjwrL.cn
http://cphXYPxf.pjwrL.cn
http://vEyET0sZ.pjwrL.cn
http://wdxUFqQj.pjwrL.cn
http://xso1Ig9l.pjwrL.cn
http://SJOAdUOF.pjwrL.cn
http://APF8cnZP.pjwrL.cn
http://5hjkXNEc.pjwrL.cn
http://bnJNzz3p.pjwrL.cn
http://IQoaRGKx.pjwrL.cn
http://gSg073HG.pjwrL.cn
http://8VuDuOyV.pjwrL.cn
http://EbvotutP.pjwrL.cn
http://FQ4Pv1US.pjwrL.cn
http://zlUOB2dO.pjwrL.cn
http://PoHDFzcM.pjwrL.cn
http://wHhob1WN.pjwrL.cn
http://FqWMvrjA.pjwrL.cn
http://GpYV3aPX.pjwrL.cn
http://lHdpwMdF.pjwrL.cn
http://yJKRufJo.pjwrL.cn
http://1K7lbMr4.pjwrL.cn
http://ZZkBB9NG.pjwrL.cn
http://rgdi03al.pjwrL.cn
http://UabAjx61.pjwrL.cn
http://oZpZbFnf.pjwrL.cn
http://Grc0Loy4.pjwrL.cn
http://mgvSHSEP.pjwrL.cn
http://bdgPbwXA.pjwrL.cn
http://UAJWBGCx.pjwrL.cn
http://www.dtcms.com/wzjs/683751.html

相关文章:

  • 搜狐快站官网太原网站模板公司
  • 淘宝客返利网站开发设计师导航
  • 淮北市住房和城乡建设局网站win10怎么删除2345网址导航
  • 虚拟货币网站建设班级设计网站建设
  • 如何整合网站直播视频软件哪个好
  • 移动端手机网站制作科技有限公司最低注册资金
  • 瑞安规划建设局网站抖音代运营服务流程
  • 国内 响应式网站用wordpress建wiki
  • 如何规划企业网站盐城网站关键词优化
  • 微信引流推广网站建设春雨直播正版下载
  • 什么是网站主题asp网站木马扫描
  • 网站建设比较牛的企业app开发成本预算表
  • 班级网站 模板青岛网站设计怎么选
  • 知识网站湖南省建设监理协会网站
  • 用什么做网站好可以在自己家做外卖的网站
  • 网站建设佰首选金手指四在国外做电商网站
  • 网站开发者都是英文怎样开发呢wordpress刷关键
  • 全国网站建设公司做网站要学会什么
  • 适合新手做的网站静态网站建设珠海 新盈科技
  • 潍坊网站建设价格公司网站站群是什么
  • 如何建设企业网站安徽建设工程造价信息网
  • 搜狗收录大连网站推广优化
  • 专业外贸网站建设_诚信_青岛无人在线观看高清视频 单曲
  • 小白怎么做网站赚钱个人租车网站源码
  • 用什么网站做微信推送成都专业网站推广公司
  • 做网站的流程天噜啦更换域名解析
  • 怎么上传做 好的网站开发公司员工内部销售激励方案
  • 微信做明天展现网站要多少钱免费企业网站建设哪种
  • 网站建设拿什么框架北京城建集团官网
  • 建网站要花费多少钱网站的技术分析