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

福州网站改版网站优化是什么意思

福州网站改版,网站优化是什么意思,有一个网站叫浪什么,wordpress style.Java之AQS#xff08;AbstractQueuedSynchronizer#xff09; AQS 介绍 AQS 的全称为 AbstractQueuedSynchronizer #xff0c;翻译过来的意思就是抽象队列同步器。这个类在 java.util.concurrent.locks 包下面。 ● 是用来实现锁或者其他同步器组件的公共基础部分的抽象实…Java之AQSAbstractQueuedSynchronizer AQS 介绍 AQS 的全称为 AbstractQueuedSynchronizer 翻译过来的意思就是抽象队列同步器。这个类在 java.util.concurrent.locks 包下面。 ● 是用来实现锁或者其他同步器组件的公共基础部分的抽象实现 ● 是重量级基础框架及整个JUC体系的基石主要用于解决锁分配给”谁“的问题。 ● 整体就是一个抽象的FIFO队列来完成资源获取线程的排队工作并通过一个int类变量表示持有锁的状态 public abstract class AbstractQueuedSynchronizer extends AbstractOwnableSynchronizer implements java.io.Serializable { } AQS 为构建锁和同步器提供了一些通用功能的实现因此使用 AQS 能简单且高效地构造出应用广泛的大量的同步器比如我们提到的 ReentrantLockSemaphore其他的诸如 ReentrantReadWriteLockSynchronousQueue等等皆是基于 AQS 的 AQS为什么是JUC内容中最重要的基石 和AQS有关的 ReentrantLock CountDownLatch ● 进一步理解锁和同步器的关系 ○ 锁面向锁的使用者定义了程序员和锁交互的使用层API隐藏了实现细节你调用即可 ○ 同步器面向锁的实现者Java并发大神DoungLee提出了统一规范并简化了锁的实现将其抽象出来屏蔽了同步状态管理、同步队列的管理和维护、阻塞线程排队和通知、唤醒机制等是一切锁和同步组件实现的----公共基础部分 AQS 核心思想 AQS 核心思想是如果被请求的共享资源空闲则将当前请求资源的线程设置为有效的工作线程并且将共享资源设置为锁定状态。如果被请求的共享资源被占用那么就需要一套线程阻塞等待以及被唤醒时锁分配的机制这个机制 AQS 是基于 CLH 锁变体 Craig, Landin, and Hagersten locks 实现的。 CLH 锁是对自旋锁的一种改进是一个虚拟的双向队列虚拟的双向队列即不存在队列实例仅存在结点之间的关联关系暂时获取不到锁的线程将被加入到该队列中。AQS 将每条请求共享资源的线程封装成一个 CLH 队列锁的一个结点Node来实现锁的分配。在 CLH 队列锁中一个节点表示一个线程它保存着线程的引用thread、 当前节点在队列中的状态waitStatus、前驱节点prev、后继节点next。 CLH 队列结构如下图所示 AQS(AbstractQueuedSynchronizer)的核心原理图 AQS内部体系架构----AQS自身 AQS的int类型变量state AQS的同步状态State成员变量 另外状态信息 state 可以通过 protected 类型的getState()、setState()和compareAndSetState() 进行操作。并且这几个方法都是 final 修饰的在子类中无法被重写。 //返回同步状态的当前值 protected final int getState() {return state; }// 设置同步状态的值 protected final void setState(int newState) {state newState; } //原子地CAS操作将同步状态值设置为给定值update如果当前同步状态的值等于expect期望值 protected final boolean compareAndSetState(int expect, int update) {return unsafe.compareAndSwapInt(this, stateOffset, expect, update); } ------ 著作权归JavaGuide(javaguide.cn)所有 基于MIT协议 原文链接https://javaguide.cn/java/concurrent/aqs.html著作权归JavaGuide(javaguide.cn)所有 基于MIT协议 原文链接https://javaguide.cn/java/concurrent/aqs.html AQS的CLH队列 CLH三个大牛的名字组成队列为一个双向队列 AQS内部体系架构----内部类Node Node的int变量 Node的等待状态waitState成员变量 说人话 等候区其他顾客其他线程的等待状态队列中每个排队的个体就是一个Node Node此类的讲解 内部结构 以Reentrantlock的实现来分析AQS的原理及应用 由于篇幅过长放在下一篇文章中
http://www.zqtcl.cn/news/448001/

相关文章:

  • 设计网站的关键点用ps做招生网站
  • 制作网站公司服务器租赁一年的费用网页动画是如何制作出来的
  • 佛山网站优化有莱芜房产网新房
  • 西安英文旅游网站建设中国建筑工程门户商城
  • 山东企业建站软件购物网站是多少
  • 外链收录网站语音识别程序代做网站
  • 天津平台网站建设公司wordpress删除页头页尾
  • 网站加入站长统计wordpress设置手机浏览器
  • 服务器网站备案怎么做网站流量竞品分析
  • 四川省建设工程信息网站上海金融网站制作公
  • php7.2 wordpress黑帽seo软件
  • 网站后台cms做网站项目团队口号
  • 云南哪几个建网站公司九江做网站哪家好
  • 时尚网站模板代码网站模板炫酷
  • 股票网站怎么做动态表格live2d看板娘wordpress
  • 班级网站建设开题报告企业创新平台建设
  • 网站建设有什么要求建设电子商务网站的步骤
  • 百度推广和哪些网站有合作专业网站开发多少钱
  • 相城区住房建设局网站做网站开发电脑配置
  • 成都网站建设制作photoshop网页制作视频教程
  • 深圳网站做的好的公司广州外贸营销网站建设公司
  • 网站你懂我意思正能量晚上不用下载直接进入微信公众号免费模板素材网站
  • 网站设计模板之家南宁seo外包平台
  • 免费舆情网站遵义市双控体系建设网站
  • 企业做网站得多少钱wordpress get_posts
  • 轻淘客网站怎么做申请个人网址
  • 新的网站的建设步骤购物网站首页源码
  • 龙岗网站建设费用明细中山 灯饰 骏域网站建设专家
  • 做catalog的免费网站网站开发一般采用什么框架
  • 网站建设海淀区网站特殊字体