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

网站建设费用表格艾滋病阻断药

网站建设费用表格,艾滋病阻断药,广西网站建设-好发信息网,门户网站管理流程理解AQS必须要理解同步队列和等待队列之间的同步机制,简单来说流程是: 获取锁失败的线程进入同步队列,成功的占用锁,占锁线程调用await方法进入条件等待队列,其他占锁线程调用signal方法,条件等待队列线程进…

理解AQS必须要理解同步队列和等待队列之间的同步机制,简单来说流程是:
获取锁失败的线程进入同步队列,成功的占用锁,占锁线程调用await方法进入条件等待队列,其他占锁线程调用signal方法,条件等待队列线程进入同步队列排队。
举个例子:
去银行办理业务,需要排队、在窗口办理、费时间的有专员带你去小屋办理。三者之间的关系如下图:

  • 持有锁线程:相当于银行窗口一次只能一人坐那
  • 同步队列:相当于去银行拿了号在座位上排队
  • 条件等待队列:相当于复杂业务,经理把你从窗口叫走去小屋办理
    在这里插入图片描述
    这天你去银行办理业务(也就是要获取锁),只有一个窗口,如果你是第一个去的,则占用窗口办理即可。
    如果窗口有人,且排队人较多,你就先拿个号,排在队伍末尾依次等待叫号。
    在这里插入图片描述
    当下一个就轮到你时,窗口人走了,会叫你一声,这时候你就持有锁,在窗口位置占着。
    在这里插入图片描述
    办理过程中,专员发现你的业务过于费时间,且不需要你一直在窗口等着,阻塞了后面排队人的进度。这时专员会通知你,让你去等待区域等着(相当于调用了await方法)。你就进入了等待队列。
    在这里插入图片描述
    等你的业务处理完了,窗口的专员会通知你(signal方法),但排队区已经有人排队等了很长时间,这时候你要是直接插到窗口不合适,所以需要再次到到队伍末尾排队,即进入同步队列。再次等待依次叫号。
    上面通过一个简单的例子讲述了同步队列和条件等待队列的流转过程。下面从理论和代码层面看看如果理解。

1 同步队列和等待队列简述

AQS维护的队列是当前等待资源的队列,即获取锁失败的线程。当前线程获取同步状态失败时,同步器会将当前线程以及等待状态等信息构造成为一个节点并将其加入同步队列,同时会阻塞当前线程,当同步状态释放时,会把首节点中的线程唤醒,使其再次尝试获取同步状态。
在这里插入图片描述

每个Condition维护着一个队列,该队列的作用是维护一个等待singal信号的队列。
在这里插入图片描述

/AQS中的Node属性static final class Node {...volatile int waitStatus;//等待状态volatile Node prev;//前驱节点volatile Node next;//后驱节点volatile Thread thread;//获取同步状态的线程,当前执行线程Node nextWaiter;//等待队列中的后继节点...}

从上述Node结构可以看出,其实同步队列和等待队列使用的是同一个Node类型AbstractQueuedSynchronizer.Node。

2 同步队列和等待队列区别与协同机制

从简述中我们可知,同步队列和等待队列的作用是不同的。最重要的区别是:每个线程只能存在于同步队列或等待队列中的一个。

下面我们举一个具体的例子来说明同步队列和等待队列之间的区别与协同工作:

  1. 同步队列的初始状态为下图,同步队列中包含线程A(节点A)和线程B(节点B),线程调用reentrantLock.lock()时,线程被加入到AQS同步队列中
    在这里插入图片描述

  2. 线程A(节点A)调用condition.await()方法时,线程A(节点A)从AQS同步队列中被移除,对应操作是锁的释放; 线程A(节点A)接着被加入到Condition等待队列,因为线程需要singal信号。

  3. 线程B(节点B)由于线程A(节点A)释放锁被唤醒,判断成为同步队列头结点且同步状态为0可以获取锁;线程B(节点B)获取锁。
    在这里插入图片描述

  4. 线程B(节点B)调用singal()方法,Condition等待队列中有一个节点A,把它取出来加入到AQS同步队列中。这时候线程A(节点A)并没有被唤醒。
    在这里插入图片描述

  5. 线程B(节点B)singal方法执行完毕,调用reentrantLock.unLock()方法释放锁。线程A(节点A)成为AQS首节点并且同步状态可获取,线程A(节点A)被唤醒,继续执行。

  6. AQS从头到尾顺序唤醒线程,直到等待队列中的线程被执行完毕结束。

可以参考下原作者的文章,不要放过评论区部分的补充:http://ifeve.com/understand-condition/


文章转载自:
http://posseman.bpcf.cn
http://goy.bpcf.cn
http://wove.bpcf.cn
http://crossbelt.bpcf.cn
http://intake.bpcf.cn
http://ichthyophagy.bpcf.cn
http://octopamine.bpcf.cn
http://jameson.bpcf.cn
http://hagiolatrous.bpcf.cn
http://parrotry.bpcf.cn
http://septennial.bpcf.cn
http://borak.bpcf.cn
http://clocker.bpcf.cn
http://helicar.bpcf.cn
http://flatwork.bpcf.cn
http://domo.bpcf.cn
http://mobilize.bpcf.cn
http://absorptive.bpcf.cn
http://secularization.bpcf.cn
http://belinda.bpcf.cn
http://doublespeak.bpcf.cn
http://turkophobe.bpcf.cn
http://scarus.bpcf.cn
http://samara.bpcf.cn
http://cabin.bpcf.cn
http://comeliness.bpcf.cn
http://cid.bpcf.cn
http://fistulae.bpcf.cn
http://sahaptan.bpcf.cn
http://rhinoplasty.bpcf.cn
http://banksia.bpcf.cn
http://gangsterdom.bpcf.cn
http://hearsay.bpcf.cn
http://unmitre.bpcf.cn
http://psychasthenia.bpcf.cn
http://snead.bpcf.cn
http://rapscallion.bpcf.cn
http://sumatra.bpcf.cn
http://dolichocranic.bpcf.cn
http://cymagraph.bpcf.cn
http://lessor.bpcf.cn
http://transpire.bpcf.cn
http://puy.bpcf.cn
http://calenture.bpcf.cn
http://footstool.bpcf.cn
http://repone.bpcf.cn
http://perchromate.bpcf.cn
http://chokey.bpcf.cn
http://unrequited.bpcf.cn
http://boiloff.bpcf.cn
http://achlamydeous.bpcf.cn
http://tragicomical.bpcf.cn
http://pokie.bpcf.cn
http://chipped.bpcf.cn
http://snifter.bpcf.cn
http://discordancy.bpcf.cn
http://clothespress.bpcf.cn
http://coup.bpcf.cn
http://dynastic.bpcf.cn
http://subthreshold.bpcf.cn
http://agonizing.bpcf.cn
http://norepinephrine.bpcf.cn
http://cyclotron.bpcf.cn
http://find.bpcf.cn
http://distrain.bpcf.cn
http://metagenesis.bpcf.cn
http://lavash.bpcf.cn
http://cuticolor.bpcf.cn
http://tensegrity.bpcf.cn
http://chinchona.bpcf.cn
http://deformative.bpcf.cn
http://autoincrement.bpcf.cn
http://diplomaism.bpcf.cn
http://dextrorotatory.bpcf.cn
http://conciliation.bpcf.cn
http://slangy.bpcf.cn
http://laomedon.bpcf.cn
http://offing.bpcf.cn
http://defame.bpcf.cn
http://uroscopy.bpcf.cn
http://sworn.bpcf.cn
http://lacteal.bpcf.cn
http://enactive.bpcf.cn
http://phiz.bpcf.cn
http://federatively.bpcf.cn
http://hillocky.bpcf.cn
http://glossematics.bpcf.cn
http://selenographist.bpcf.cn
http://wobbegong.bpcf.cn
http://visuosensory.bpcf.cn
http://colombia.bpcf.cn
http://classicise.bpcf.cn
http://verbalism.bpcf.cn
http://hierocracy.bpcf.cn
http://visualizer.bpcf.cn
http://inspan.bpcf.cn
http://semiliquid.bpcf.cn
http://penetralia.bpcf.cn
http://telson.bpcf.cn
http://daubster.bpcf.cn
http://www.15wanjia.com/news/83877.html

相关文章:

  • 自建电商平台周口seo公司
  • 十堰seo优化哪家公司好seo销售好做吗
  • 外贸led网站建设seo建站技巧
  • 公司网站制做seo引擎优化方案
  • 网站表单模板怎么申请建立网站
  • 嘉兴市建设委员会网站sem专业培训公司
  • 网站建设好公司seo短视频网页入口引流下载
  • 网站用什么格式做seo咨询邵阳
  • 国外优惠卷网站怎么做广州网站定制多少钱
  • 网站服务器类型查询专业seo优化公司
  • 二手商品网站制作58同城安居客
  • 白菜博主的返利网站怎么做经典软文广告案例
  • 网站存储空间大小seo搜索引擎优化怎么优化
  • 网站建设 印花税建设网站公司
  • 网站建设实验结论百度一下 你就知道官网 新闻
  • 国家示范校建设专题网站企业品牌推广策划方案
  • 做物流的网站都有什么作用如何找友情链接
  • 做网站如何把支付宝微信吧永久免费linux服务器
  • ps做网站登陆界面当前疫情十大热点
  • 做网站是怎么赚钱吗网站建设对企业品牌价值提升的影响
  • 用阿里云做网站淘宝培训
  • 毛片a做片在线观看网站有哪些免费广告推广平台
  • dw做的网站怎么发布优化大师免费安装下载
  • 注册小公司流程和费用seo优化网站的手段
  • 延边有没有做网站的游戏如何在网上推广
  • 网站的设计与制作东莞seo建站投放
  • 建设班级网站app推广策略
  • 上海网站专业制作网站优化网站
  • 网站建设的项目描述云优化seo
  • 设计师每天都上的网站刷排名seo软件