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

推广网站软文建设一个棋牌网站都得准备什么用

推广网站软文,建设一个棋牌网站都得准备什么用,网页欣赏网站,简单的网站开发流程图一、Node 类的结构与队列示意 首先映入眼帘的是 “Node 类的结构与队列示意” 图(见图 1)。在 AQS 的世界里,Node 类扮演着举足轻重的角色,它是构建同步队列和条件队列的基本单元。 从图左侧的代码部分可以清晰地看到&#xff0c…

一、Node 类的结构与队列示意

首先映入眼帘的是 “Node 类的结构与队列示意” 图(见图 1)。在 AQS 的世界里,Node 类扮演着举足轻重的角色,它是构建同步队列和条件队列的基本单元。
从图左侧的代码部分可以清晰地看到,Node 类定义了两种至关重要的模式:共享模式(SHARED)和独占模式(EXCLUSIVE)。共享模式常用于多个线程可以同时访问资源的场景,比如在使用 Semaphore 控制资源访问数量时;而独占模式则适用于同一时间只有一个线程能够访问资源的情况,典型的例子就是 ReentrantLock。
同时,Node 类还拥有五种不同的状态,它们各自肩负着独特的使命:
CANCELLED(值为 1):当线程由于超时或者中断等原因被取消时,节点会进入此状态,不再参与同步操作。
SIGNAL(值为 -1):表示当前节点的后继节点包含的线程需要被唤醒(unpark),以便后继线程能够去竞争资源。
CONDITION(值为 -2):说明当前节点正在等待某个特定条件,此时它处于条件队列中。
PROPAGATE(值为 -3):在共享模式下,该状态表示后续的 acquireShared 操作能够得以顺利执行。
值为 0:意味着当前节点在同步队列中,正静静地等待获取锁。
此外,Node 类还包含了一系列关键属性,如 waitStatus(用于记录节点状态)、prev(指向前驱节点)、next(指向后继节点)、thread(对应着节点所关联的线程)以及 nextWaiter(主要用于条件队列,指向下一个等待者)。
图右侧则生动地展示了 CLH 队列和条件队列的结构。CLH 队列主要用于实现线程同步,当线程获取资源失败时,它就会加入到这个队列中耐心等待。而条件队列则与 Condition 紧密配合,专门用于线程等待特定条件满足时的队列管理。
在这里插入图片描述

二、线程获取资源与 CLH 队列操作

接下来,让我们聚焦于 “线程获取资源与 CLH 队列操作” 图(见图 2)。这张图详细地描绘了多个线程在竞争资源时与 CLH 队列的精彩交互过程。
当线程 A、B、C、D 纷纷尝试获取资源时,会出现两种截然不同的情况:
获取资源成功:当线程幸运地获取到资源后,它会立即进入临界区执行相应的代码。一旦执行完毕,它会及时唤醒队列首部的节点,从而给予等待的线程获取资源的宝贵机会。
获取资源失败:倘若获取资源失败,线程会通过 CAS 操作(即比较并交换,尝试将新节点设置为队列尾部)自旋入队。这种巧妙的方式能够确保线程安全地入队,有效避免了多线程竞争下可能出现的混乱局面。
在 CLH 队列中,我们可以清晰地观察到节点的具体结构和状态变化。头部节点的 waitStatus 为 SIGNAL,这表明它需要唤醒后继节点;而后续节点的 waitStatus 为 0,则表示它们正在安静地等待获取资源。每个节点都准确地记录了对应的线程,清晰地展现了线程在队列中的等待情况。
在这里插入图片描述

三、CLH 队列与条件队列的交互

最后,让我们一同审视 “CLH 队列与条件队列的交互” 图(见图 3)。这张图深刻地揭示了 CLH 队列和条件队列之间的转换关系,以及线程在两个队列间的动态移动过程。
当 CLH 队列中的线程执行 await 方法时,对应的线程会优雅地出队,并构建新的条件节点加入到条件队列中。而非 CLH 队列中的线程执行 await 方法时,则会直接进入条件队列。
当条件满足,signal 操作被调用时,条件队列的 firstWaiter 节点会迅速出队,并加入 CLH 队列尾部,等待获取资源。通过这样的交互,AQS 实现了线程的同步和等待 - 唤醒机制,确保了多线程环境下资源的有序访问。

在这里插入图片描述

http://www.dtcms.com/a/502335.html

相关文章:

  • 网站后台问题南京做网站设计
  • 分享设计作品网站建筑信息查询平台
  • 网站建设哪里可以学网站开发职责与要求
  • 君山区建设局网站哈尔滨公司网站建设多少钱
  • 广西公司做网站鹤壁做网站多少钱
  • 网站建设方案步骤上海网站开发招聘
  • 上海公司网站设计北京朝阳网站设计
  • 网站零基础学电脑培训班沈阳关键词优化价格
  • 网站开发框架拓扑电子商务网站推广策略
  • 关于企业的网站iis搭建网站
  • 建网站的设备我是做装修的怎么样投资网站
  • 广州手机网站定制咨询wordpress产品列表页
  • 深圳网站seo建设wap网站asp源码
  • 网站主页面设计模板郴州网签查询
  • dede可以做商城网站吗网站建设报价单格式
  • 系部网站建设中期检查表代理怎么做
  • wordpress企业网站DIY电子商务 网站系统
  • 电商电商网站建设网站建设关键字优化
  • 智能响应式网站欧美网站建设教程
  • 佛山新网站建设市场上海十大黑心装修公司
  • 买个网站域名要多少钱一年专门做商标的网站有哪些
  • 做外贸网站案例兰州市科协网站
  • 手机网站功能分析免费项目网站
  • 做个商城网站多少钱郑州建设企业网站公司
  • 广州网站建设骏域网站制作的合同
  • 海淀公司网站建设方案应用公园收费标准
  • 重庆网站建设维护网站怎样建设才叫人性化
  • 网站建设进展情况汇报公司网页设计报告5000字
  • 聊城手机网站建设WordPress缺省图
  • 网站后台管理系统源码公司网站建设款计什么科目