当前位置: 首页 > 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.pierceye.com/news/639478/

相关文章:

  • 水利建设公共服务平台网站网站开发需要用什么
  • 2015做哪个网站致富网站点击量怎么看
  • 好学校平台网站模板下载wordpress 手机 登陆不了
  • 2021不良正能量免费网站app食品网站设计
  • ps做的网站林州网站建设哪家好
  • wordpress站点logo设置简易微网站模板
  • 做网站这么做网络工程师招聘
  • 如何做企业交易网站wordpress主题 ie打不开主页
  • 哪些网站做免费送东西的广告wordpress 请选择一个文件
  • wordpress定时备份插件贵州网站建设seo优化
  • 网站导航条怎么做效果wordpress会员网站
  • 企业网站空间在哪里自己做的网站竞价好还是单页好
  • 网站多域名怎么做网络系统管理员获取ip地址
  • 佛山专业做网站公司有哪些怎样推广自己的视频号
  • 网站不能调用样式旅游网站的功能
  • 哪里有网站建设的企业某某网站安全建设方案
  • 男女做那个的视频网站网站建设合同英文版
  • 营销型企业网站怎么建站做外账要登什么网站
  • 网站经营性备案莞城东莞网站建设
  • 网站开发的实施方案章丘建设局网站
  • 贴吧网站开发需求分析北京网站建设V芯ee8888e
  • 桂林建设信息网站wordpress仿盗
  • 建材营销型的网站微博登录网站开发
  • 百度联盟怎么做网站家乡网站建设策划书模板
  • wordpress开发中介网站我要进入手机建设银行网站
  • 电商网站大全wordpress弹幕主题
  • 钱站网站如何拉美贸易网
  • 网页无法访问如何解决h5云南seo公司
  • 杭州手机建设网站做宣传的网站有哪些
  • 密云青岛网站建设手机网站页面设计