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

台州企业网站怎么设置自己的网站

台州企业网站,怎么设置自己的网站,如何制作框架网页,东莞网络科技公司有哪些在ReentrantLock实现原理(1)一节中,我们了解了ReentrantLock非公平锁的获取流程,在本节中我们来看下ReentrantLock公平锁的创建以及锁管理流程 创建ReentrantLock公平锁 创建公平锁代码如下: ReentrantLock reentrantLock new ReentrantL…

在ReentrantLock实现原理(1)一节中,我们了解了ReentrantLock非公平锁的获取流程,在本节中我们来看下ReentrantLock公平锁的创建以及锁管理流程

创建ReentrantLock公平锁

创建公平锁代码如下:

ReentrantLock reentrantLock = new ReentrantLock(true);

公平锁ReentrantLock.lock流程分析

使用上文创建的ReentrantLock公平锁,执行lock,流程如下所示:

FairReentrantLock.lock1

从图中可以看出,相对非公平锁而言,公平锁代码中主要有以下区别:

  1. 在lock函数实现上,非公平锁会直接先通过CAS操作锁状态标记,操作失败才会将请求提交给AQS,而公平锁会直接将请求提交给AQS

    1-4-13-1

  2. 在tryAcquire函数流程中(非公平锁调用父类的nonfairTryAcquire),非公平锁是在锁状态标记为0时,直接通过CAS修改锁标记为1,公平锁是在锁状态标记为0且等待队列为空时,才通过CAS操作锁状态标记

    1-4-13-2

    同时这里也可以看出不管是公平锁实现还是非公平锁实现,当前线程是持有锁线程时,都是直接获取锁的,充分体现了ReentrantLock的可重入性的特点

通过这两处变动,就保证了在公平锁实现中,新来的线程必然是先排队,随后按照队列顺序获取锁的,接下里的线程排入等待队列的流程,两种锁的实现是完全重用的,这里不再赘述,需要了解可以再详细看非公平锁部分的内容。

结合lock的时序图,我们可以得到获取公平锁的流程如下图所示:

FairReentrantLock_lock_process.drawio

公平锁ReentrantLock.unlock流程分析

查看代码,两种锁的unlock流程完全一致,这里不再赘述,需要了解可以在详细看下非公平锁部分的内容。

http://www.yayakq.cn/news/44358/

相关文章:

  • 化妆品网站建设报告农家乐网站规划与建设方案
  • 网站开发微信公众号自定义菜单广告联盟cpc
  • 马蜂窝网络营销网站建设seo网站技术培训
  • html5导航网站源码网络销售怎么找客户
  • 游戏网站开发计划书福州网站建设新闻
  • cms 官方网站中石油第一建设公司官网
  • 专业的营销型网站建设价格做导航网站赚钱
  • 网站更换主机注意网站建设实训报告建议
  • 2008iis添加网站打不开中软国际软件培训收费
  • 青岛网站推广方案seo分析及优化建议
  • 高端网站制作软件这么做网站原型图
  • 献县建设局网站wordpress左右主题
  • 如何设计一个公司网站步骤临沂自助建站软件
  • 怎样网站设计项目计划
  • 网站做分站wordpress 图片接口怎么用
  • ppt汇精美ppt模板免费下载网站网页设计留言板怎么做
  • 企业建筑网站网页链接转二维码
  • 北京网站建设 shwl南阳网站建设aokuo
  • 网站被攻击打不开怎么办网站建设---部署与发布
  • 苏州网站设计公司排名青县做网站价格
  • dede做的网站被植入广告wordpress更换文章背景色
  • php网站建设的基本流程图食品公司名字大全
  • 推推蛙网站建设直播策划方案范文
  • 青岛网站排名公司朋友圈推广平台
  • 网站免费空间哪里申请网站如何做h5动态页面
  • 北京网站的制作设计为什么网站建设图片显示不出来
  • 广州网站建设 易企建站如何在木上做网站
  • 门户网站开发使用什么语言中建八局第一建设有限公司资质
  • 用php做网站上传图片的代码北京有做网站的吗
  • 南宁网站设计多少钱跨境收款