如何基于AQS写CountDownLatch
发表于:2026-11-03 作者:千家信息网编辑
千家信息网最后更新 2026年11月03日,这期内容当中小编将会给大家带来有关如何基于AQS写CountDownLatch,文章内容丰富且以专业的角度为大家分析和叙述,阅读完这篇文章希望大家可以有所收获。import java.util.con
千家信息网最后更新 2026年11月03日如何基于AQS写CountDownLatch
这期内容当中小编将会给大家带来有关如何基于AQS写CountDownLatch,文章内容丰富且以专业的角度为大家分析和叙述,阅读完这篇文章希望大家可以有所收获。
import java.util.concurrent.TimeUnit;import java.util.concurrent.locks.AbstractQueuedSynchronizer;/** * Created by yzy on 2018/10/31. */public class MyCountDownLatch { /** * Synchronization control For CountDownLatch. * Uses AQS state to represent count. */ private static final class Sync extends AbstractQueuedSynchronizer { private static final long serialVersionUID = 4982264981922014374L; Sync(int count) { setState(count); } int getCount() { return getState(); } @Override protected int tryAcquireShared(int acquires) { return (getState() == 0) ? 1 : -1; } @Override protected boolean tryReleaseShared(int releases) { // Decrement count; signal when transition to zero for (;;) { int c = getState(); if (c == 0) return false; int nextc = c-1; if (compareAndSetState(c, nextc)) return nextc == 0; } } } private final Sync sync; public MyCountDownLatch(int count) { if (count < 0) throw new IllegalArgumentException("count < 0"); this.sync = new Sync(count); } public void await() throws InterruptedException { sync.acquireSharedInterruptibly(1); } public boolean await(long timeout, TimeUnit unit) throws InterruptedException { return sync.tryAcquireSharedNanos(1, unit.toNanos(timeout)); } public void countDown() { sync.releaseShared(1); } public long getCount() { return sync.getCount(); } public String toString() { return super.toString() + "[Count = " + sync.getCount() + "]"; }}上述就是小编为大家分享的如何基于AQS写CountDownLatch了,如果刚好有类似的疑惑,不妨参照上述分析进行理解。如果想知道更多相关知识,欢迎关注行业资讯频道。
内容
分析
专业
中小
内容丰富
就是
文章
更多
知识
篇文章
行业
角度
资讯
资讯频道
频道
有关
数据库的安全要保护哪些东西
数据库安全各自的含义是什么
生产安全数据库录入
数据库的安全性及管理
数据库安全策略包含哪些
海淀数据库安全审计系统
建立农村房屋安全信息数据库
易用的数据库客户端支持安全管理
连接数据库失败ssl安全错误
数据库的锁怎样保障安全
南京欣网互联网络科技有限公司
互联网科技产业
猫创互联网科技
苏州大垚互联网科技
互联网金融 科技创新
居家互联网科技有限公司
恒银科技与互联网金融
阿里巴巴算科技企业还是互联网
互联网公司科技股
坤平互联网科技
民营互联网公司国防科技
燊美集互联网科技有限公司
中国互联网公司排名锤子科技
卓翼科技产业互联网合作
中科明德北京互联网科技
上海科技产业互联网平台
南京一网一红互联网科技有限公司
互联网硬科技公司
众联互联网络科技
伍佰万互联网科技是干嘛的
互联网科技园
哈尔滨大商圈互联网科技有限公司
科技互联网政务服务
北京互联网科技有限公司
天速互联网络科技有限公司
乌鲁木齐新华智原互联网科技学校
内蒙古九一互联网科技
小米互联网科技园入驻
张家口科技产业互联网平台
科技互联网专业务虚会材料