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

建设项目竣工验收公告网站软件开发大概需要多少钱

建设项目竣工验收公告网站,软件开发大概需要多少钱,举例描述该如何布局网站关键词,WordPress说说主题CyclicBarrier、CountDownLatch、Semaphore 的用法 CountDownLatch#xff08;线程计数器 #xff09; CountDownLatch 类位于 java.util.concurrent 包下#xff0c;利用它可以实现类似计数器的功能。比如有一个任务 A#xff0c;它要等待其他 4 个任务执行完毕之后才能执…CyclicBarrier、CountDownLatch、Semaphore 的用法 CountDownLatch线程计数器 CountDownLatch 类位于 java.util.concurrent 包下利用它可以实现类似计数器的功能。比如有一个任务 A它要等待其他 4 个任务执行完毕之后才能执行此时就可以利用 CountDownLatch来实现这种功能了。 final CountDownLatch latch new CountDownLatch(2); new Thread() {public void run() {System.out.println(子线程 Thread.currentThread().getName() 正在执行);Thread.sleep(3000);System.out.println(子线程 Thread.currentThread().getName() 执行完毕);latch.countDown();}; }.start();new Thread() {public void run() {System.out.println(子线程 Thread.currentThread().getName() 正在执行);Thread.sleep(3000);System.out.println(子线程 Thread.currentThread().getName() 执行完毕);latch.countDown();}; }.start();System.out.println(等待 2 个子线程执行完毕...);latch.await();System.out.println(2 个子线程已经执行完毕);System.out.println(继续执行主线程);CyclicBarrier回环栅栏-等待至 barrier 状态再全部同时执行 字面意思回环栅栏通过它可以实现让一组线程等待至某个状态之后再全部同时执行。叫做回环是因为当所有等待线程都被释放以后CyclicBarrier 可以被重用。我们暂且把这个状态就叫做barrier当调用 await()方法之后线程就处于 barrier 了。 CyclicBarrier 中最重要的方法就是 await 方法它有 2 个重载版本 public int await()用来挂起当前线程直至所有线程都到达 barrier 状态再同时执行后续任务 public int await(long timeout, TimeUnit unit)让这些线程等待至一定的时间如果还有线程没有到达 barrier 状态就直接让到达 barrier 的线程执行后续任务。 具体使用如下另外 CyclicBarrier 是可以重用的。 public static void main (String[]args){int N 4;CyclicBarrier barrier new CyclicBarrier(N);for (int i 0; i N; i)new Writer(barrier).start();}static class Writer extends Thread {private CyclicBarrier cyclicBarrier;public Writer(CyclicBarrier cyclicBarrier) {this.cyclicBarrier cyclicBarrier;}Overridepublic void run() {try {Thread.sleep(5000); //以睡眠来模拟线程需要预定写入数据操作System.out.println(线程 Thread.currentThread().getName() 写入数据完毕等待其他线程写入完毕);cyclicBarrier.await();} catch (InterruptedException e) {e.printStackTrace();} catch (BrokenBarrierException e) {e.printStackTrace();}System.out.println(所有线程写入完毕继续处理其他任务比如数据操作);}}Semaphore信号量-控制同时访问的线程个数 Semaphore 翻译成字面意思为 信号量Semaphore 可以控制同时访问的线程个数通过acquire() 获取一个许可如果没有就等待而 release() 释放一个许可。 Semaphore 类中比较重要的几个方法 public void acquire(): 用来获取一个许可若无许可能够获得则会一直等待直到获得许可。 public void acquire(int permits):获取 permits 个许可 public void release() { } :释放许可。注意在释放许可之前必须先获获得许可。 public void release(int permits) { }:释放 permits 个许可 上面 4 个方法都会被阻塞如果想立即得到执行结果可以使用下面几个方法 public boolean tryAcquire():尝试获取一个许可若获取成功则立即返回 true若获取失败则立即返回 false public boolean tryAcquire(long timeout, TimeUnit unit):尝试获取一个许可若在指定的时间内获取成功则立即返回 true否则则立即返回 false public boolean tryAcquire(int permits):尝试获取 permits 个许可若获取成功则立即返回 true若获取失败则立即返回 false public boolean tryAcquire(int permits, long timeout, TimeUnit unit): 尝试获取 permits个许可若在指定的时间内获取成功则立即返回 true否则则立即返回 false 还可以通过 availablePermits()方法得到可用的许可数目。 例子若一个工厂有 5 台机器但是有 8 个工人一台机器同时只能被一个工人使用只有使用完了其他工人才能继续使用。那么我们就可以通过 Semaphore 来实现 int N 8; //工人数Semaphore semaphore new Semaphore(5); //机器数目for(int i0;iN;i)new Worker(i,semaphore).start();} static class Worker extends Thread {private int num;private Semaphore semaphore;public Worker(int num, Semaphore semaphore) {this.num num;this.semaphore semaphore;}Overridepublic void run() {try {semaphore.acquire();System.out.println(工人 this.num 占用一个机器在生产...);Thread.sleep(2000);System.out.println(工人 this.num 释放出机器);semaphore.release();} catch (InterruptedException e) {e.printStackTrace();}} } „ CountDownLatch 和 CyclicBarrier 都能够实现线程之间的等待只不过它们侧重点不同CountDownLatch 一般用于某个线程 A 等待若干个其他线程执行完任务之后它才执行而 CyclicBarrier 一般用于一组线程互相等待至某个状态然后这一组线程再同时执行另外CountDownLatch 是不能够重用的而 CyclicBarrier 是可以重用的。„ Semaphore 其实和锁有点类似它一般用于控制对某组资源的访问权限。
http://www.zqtcl.cn/news/639478/

相关文章:

  • 安阳建设网站企业单位网站建设内容需要什么
  • 网站如何被谷歌收录wordpress搭建企业官网
  • 网站 服务报价网站建设需要具备
  • 鹿泉企业网站建设wordpress使用支付宝当面付
  • 手机网站重要性彩票网站上的走势图是怎么做的
  • 牛牛襄阳网站建设做电商网站需要会些什么问题
  • 唯一做性视频的网站在线股票交易网站开发
  • 做二手的网站有哪些湛江小程序公司
  • 定制型网站建设wordpress md风格
  • 网站建设与推广的实训报告万网会员中心登录入口
  • 做网站如何推销电子商务类型的网站
  • 部署个人网站经典广告推广词
  • 海口模板建站定制南宁品牌网站设计公司
  • 江西网站设计方案网站通栏广告代码
  • 外包网站建设公司网站建设公司的销售好做吗
  • lol做任务领头像网站营销型网站重要特点是?
  • 设计师35岁后的出路嘉兴做网站优化的公司
  • 网站首页包含的内容网站网站注册
  • 企业网站改版建议北京市在建工程项目查询
  • 广州通和通信建设有限公司网站myeclipse怎么做网页
  • 最好的做网站公司有哪些泰安人才网官网登录
  • 怎么用wordpress修改网站源码辽宁省营商环境建设局网站
  • 做网站数据库怎么做wordpress video主题
  • 田园综合体建设网站梧州网站建设有哪些
  • 公司做网站的流程茂名网站建设公司
  • 徐州专业网站建设公司wordpress tag找不到
  • 网站互动推广织梦网站主页代码在后台怎么改
  • 福永自适应网站建设微信小程序功能开发
  • 制作一个动态企业网站狠狠做最新网站
  • 手机建立一个免费网站网页设计师培训方法