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

上海龙象建设集团公司网站新闻联播今日新闻

上海龙象建设集团公司网站,新闻联播今日新闻,3.15网站建设,购买完域名后怎么做网站信号量就是通过AQS的共享锁机制来实现的。这个类总体比较简单,就不做过多描述。 Sync同步器 abstract static class Sync extends AbstractQueuedSynchronizer {private static final long serialVersionUID 1192457210091910933L;//初始化permits许可数&#xf…

信号量就是通过AQS的共享锁机制来实现的。这个类总体比较简单,就不做过多描述。

Sync同步器

abstract static class Sync extends AbstractQueuedSynchronizer {private static final long serialVersionUID = 1192457210091910933L;//初始化permits许可数,并用AQS的state来存放许可Sync(int permits) {setState(permits);}final int getPermits() {return getState();}//非公平获取共享锁实现final int nonfairTryAcquireShared(int acquires) {for (;;) {int available = getState();int remaining = available - acquires;if (remaining < 0 ||compareAndSetState(available, remaining))return remaining;}}//释放共享锁实现protected final boolean tryReleaseShared(int releases) {for (;;) {int current = getState();int next = current + releases;if (next < current) // 相加后小于原值,证明溢出了throw new Error("Maximum permit count exceeded");if (compareAndSetState(current, next))return true;}}final void reducePermits(int reductions) {for (;;) {int current = getState();int next = current - reductions;if (next > current) // underflowthrow new Error("Permit count underflow");if (compareAndSetState(current, next))return;}}final int drainPermits() {for (;;) {int current = getState();if (current == 0 || compareAndSetState(current, 0))return current;}}
}//非公平实现
static final class NonfairSync extends Sync {private static final long serialVersionUID = -2694183684443567898L;NonfairSync(int permits) {super(permits);}protected int tryAcquireShared(int acquires) {return nonfairTryAcquireShared(acquires);}
}
//公平实现
static final class FairSync extends Sync {private static final long serialVersionUID = 2014338818796000944L;FairSync(int permits) {super(permits);}protected int tryAcquireShared(int acquires) {for (;;) {if (hasQueuedPredecessors())return -1;int available = getState();int remaining = available - acquires;if (remaining < 0 ||compareAndSetState(available, remaining))return remaining;}}
}

acquire

public void acquire() throws InterruptedException {//调用AQS的可响应中断获取共享锁的方法sync.acquireSharedInterruptibly(1);
}

http://www.ds6.com.cn/news/33137.html

相关文章:

  • 广州市学校网站建设公司超链接友情外链查询
  • 水碓子网站建设免费网站服务器安全软件下载
  • asp.net mvc5网站开发企业网站模板免费下载
  • 做标记网站网络推广方案
  • 做渠道的网站有哪些方面上海公布最新情况
  • 个人网页设计与制作论文结束语北京首页关键词优化
  • sketch wordpress 主题沈阳seo搜索引擎
  • 已备案网站域名网短视频seo公司
  • 网站开发步奏珠海关键词优化软件
  • 昆山玉山网站建设如何让百度收录网站
  • 淘宝联盟网站备案广东全网推广
  • 杭州哪个网站建设最好如何优化网络环境
  • 柳城企业网站建设价格百度一下首页手机版
  • 科技公司网站设计欣赏南宁排名seo公司
  • wordpress 移动端页码移动网站优化排名
  • 网站真实性百度云网盘登录入口
  • 三都水族自治县政府网站建设百度信息流广告怎么投放
  • 广州网站制作网页免费b站推广网站有哪些
  • 专门做电商的招聘网站广告优化师的工作内容
  • 做h游戏视频网站有哪些种子资源
  • 深圳求职网站哪个好舆情通
  • 网站风格怎么在腾讯地图上添加自己的店铺
  • b2c网站建设需要的条件谷歌排名网站优化
  • 吴桥县网站建设淘宝关键词搜索排名
  • 如何做网站互链规则深圳市推广网站的公司
  • 网站建设的公司都有哪些优化搜索点击次数的方法
  • 网站后台的文章怎么做企业推广是做什么的
  • 越秀网站建设公司营销策划咨询机构
  • 电脑网络题搜网站怎么做网络营销经典案例
  • 建德网站建设公司营销型高端网站建设