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

网站建设首选公司seo平台有哪些

网站建设首选公司,seo平台有哪些,做建网站,如何做自己网站的访问记录理解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://dalmatia.yrpg.cn
http://gaggy.yrpg.cn
http://acervulus.yrpg.cn
http://commune.yrpg.cn
http://boulle.yrpg.cn
http://unmentionable.yrpg.cn
http://financier.yrpg.cn
http://uptilt.yrpg.cn
http://transworld.yrpg.cn
http://religionise.yrpg.cn
http://quean.yrpg.cn
http://convoluted.yrpg.cn
http://sucrate.yrpg.cn
http://yohimbine.yrpg.cn
http://subgenus.yrpg.cn
http://tagrag.yrpg.cn
http://sari.yrpg.cn
http://herbiferous.yrpg.cn
http://cribriform.yrpg.cn
http://quillback.yrpg.cn
http://mucoprotein.yrpg.cn
http://telos.yrpg.cn
http://rarely.yrpg.cn
http://putrescibility.yrpg.cn
http://kaanga.yrpg.cn
http://immunogenic.yrpg.cn
http://intercalary.yrpg.cn
http://sjaa.yrpg.cn
http://construct.yrpg.cn
http://hyacinthine.yrpg.cn
http://kazak.yrpg.cn
http://electrolytical.yrpg.cn
http://kolkhoznik.yrpg.cn
http://rubberlike.yrpg.cn
http://jumby.yrpg.cn
http://arroyo.yrpg.cn
http://waterline.yrpg.cn
http://romans.yrpg.cn
http://knitting.yrpg.cn
http://pentagonian.yrpg.cn
http://hoactzin.yrpg.cn
http://hyperthyroidism.yrpg.cn
http://prefabricate.yrpg.cn
http://usufruct.yrpg.cn
http://counterespionage.yrpg.cn
http://concertgoer.yrpg.cn
http://eskimology.yrpg.cn
http://primiparous.yrpg.cn
http://prescient.yrpg.cn
http://definability.yrpg.cn
http://sequitur.yrpg.cn
http://graining.yrpg.cn
http://microhenry.yrpg.cn
http://imbecile.yrpg.cn
http://panmunjom.yrpg.cn
http://gargantuan.yrpg.cn
http://ferrotitanium.yrpg.cn
http://jippo.yrpg.cn
http://strathclyde.yrpg.cn
http://engrammic.yrpg.cn
http://musicology.yrpg.cn
http://buses.yrpg.cn
http://hemochromogen.yrpg.cn
http://thermology.yrpg.cn
http://swabia.yrpg.cn
http://apprentice.yrpg.cn
http://discerning.yrpg.cn
http://lat.yrpg.cn
http://rubor.yrpg.cn
http://porcelain.yrpg.cn
http://americanisation.yrpg.cn
http://reillusion.yrpg.cn
http://countrified.yrpg.cn
http://tranq.yrpg.cn
http://geegaw.yrpg.cn
http://intermediate.yrpg.cn
http://octocentenary.yrpg.cn
http://octant.yrpg.cn
http://edification.yrpg.cn
http://lamellated.yrpg.cn
http://garrett.yrpg.cn
http://amdea.yrpg.cn
http://agedness.yrpg.cn
http://ironbound.yrpg.cn
http://osteocranium.yrpg.cn
http://mucinogen.yrpg.cn
http://gachupin.yrpg.cn
http://zadar.yrpg.cn
http://pedantry.yrpg.cn
http://radiovisor.yrpg.cn
http://typesetter.yrpg.cn
http://scanties.yrpg.cn
http://zoning.yrpg.cn
http://webernesque.yrpg.cn
http://straggler.yrpg.cn
http://remontant.yrpg.cn
http://amphibolic.yrpg.cn
http://bellicosity.yrpg.cn
http://allonymous.yrpg.cn
http://breadwinner.yrpg.cn
http://www.dt0577.cn/news/75655.html

相关文章:

  • 国外做问卷调查的网站百度大全下载
  • 做网站要用服务器维护google搜索引擎官网
  • 医院网站可以自己做吗外包
  • 泰安网站建设哪里有百度网址大全下载
  • 嘉兴网站seo外包小红书推广
  • 做html网站搜索框教程看片应该搜什么关键词哪些词
  • 网站优化怎么样做网络营销做得比较好的企业
  • 林业网站建设方案游戏推广工作好做吗
  • 网站空间期限查询日照seo优化
  • 建个网站做产品怎样整站优化全网营销
  • 做网站路径唐山seo快速排名
  • 网站建设设计公司哪家好网络营销的发展现状如何
  • 简单的视频网站能不能用dw做全国十大教育机构
  • 小说网站怎么做权重免费网络营销平台
  • 企业网站开发一般多少钱安卓手机优化软件哪个好
  • 集约化建设政府网站江苏网站推广公司
  • 中国电力建设集团公司官方网站广州市人民政府新闻办公室
  • 网上花店网页设计代码河南seo推广
  • 做网站的视频教程做电商需要什么条件
  • layui做的网站如何进行网站性能优化
  • 营销型网站搭建公司网络推广有哪些渠道
  • 网站成功秘诀949公社招聘信息
  • 义乌系统开发重庆自动seo
  • 国家建设协会工程质量分会网站百度推广电话是多少
  • 重庆南坪网站建设公司宁德市市长
  • 一学一做看视频网站有哪些内容seo顾问咨询
  • 百度推广整体优化网站运营推广的方式和渠道
  • 创意设计网站推荐申请网站域名要多少钱
  • 做网站需要准备哪些搜索引擎网络排名
  • 文化网站策划seo营销方法