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

java Abstract Queued Synchronizer

AbstractQueuedSynchronizer(简称 AQS)是 Java 中用于实现锁和同步器的一个基础框架,位于 java.util.concurrent.locks 包中。它提供了一种基于 FIFO(先进先出)队列的机制,帮助构建多线程之间的同步工具,比如常见的 ReentrantLock、CountDownLatch、Semaphore、CyclicBarrier 等都依赖于 AQS 的实现。
在这里插入图片描述
在这里插入图片描述
在这里插入图片描述

class MyLock extends AbstractQueuedSynchronizer {// 尝试获取锁@Overrideprotected boolean tryAcquire(int arg) {if (compareAndSetState(0, 1)) {setExclusiveOwnerThread(Thread.currentThread());return true;}return false;}// 尝试释放锁@Overrideprotected boolean tryRelease(int arg) {if (getState() == 0) {throw new IllegalMonitorStateException();}setExclusiveOwnerThread(null);setState(0);return true;}public void lock() {acquire(1);}public void unlock() {release(1);}
}

在这里插入图片描述


http://www.mrgr.cn/news/20377.html

相关文章:

  • Spring Security
  • 分销员管理模块技术文档
  • mysql Deadlock found when trying to get lock; try restarting transaction
  • 基于AI+多技术融合在流域生态系统服务评价、水文水生态分析、碳收支、气候变化影响、制图等领域中的实践应用
  • js模块化 --- commonjs规范 原理详解
  • 9、类和对象
  • Spring Boot:医疗排班系统开发的技术革新
  • SAP 生产订单工序删除状态撤回简介
  • OceanBase 4.x 存储引擎解析:如何让历史库场景成本降低50%+
  • 如何确定Kubernetes是在采用哪种方式进行部署的?
  • 【论文速读】| SEAS:大语言模型的自进化对抗性安全优化
  • 通过Jflash合并程序以 BOOT + APP 合并为例
  • 【深度学习】线性回归的从零开始实现与简洁实现
  • eclipse 导入或者打开项目总是弹出Marketplace Solutions available
  • getent passwd 获取linux并显示用户账户信息
  • [PS]Photoshop 2024下载安装教程附软件包百度网盘分享链接地址
  • 跨域问题(CORS)
  • RS FPC1500 三合一频谱分析仪
  • 2024年【金属非金属矿山(地下矿山)安全管理人员】考试报名及金属非金属矿山(地下矿山)安全管理人员最新解析
  • SpringCloud之CircuitBreaker