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

网页网站怎么做的吗互联网营销的优势

网页网站怎么做的吗,互联网营销的优势,wordpress 短代码 2017,2核4g做网站CountDownLatch 翻译: 倒计时锁存器,,,,count计数,down停止,Latch锁 解释: 允许一个或多个线程等待,直到在其他线程中执行的一组操作完成的同步辅助不懂?…

CountDownLatch

翻译

倒计时锁存器,,,,count计数,down停止,Latch锁

解释:

  • 允许一个或多个线程等待,直到在其他线程中执行的一组操作完成的同步辅助
  • 不懂?
  • 就是,正常情况下,多线程是同时处于就绪状态,但是,使用了之后,我【线程一】先跑,你们在外面候着

方法

在这里插入图片描述

使用

简单使用

public static void main(String[] args) throws InterruptedException {CountDownLatch countDownLatch = new CountDownLatch(10);for (int i = 0; i < 10; i++) {int finalI = i;new Thread(()->{System.out.println(finalI);countDownLatch.countDown();}).start();}countDownLatch.await();System.out.println("结束了");
}
  • 在线程里使用,每次减少 1
  • await后面的进程需要等到上面的进程执行完毕,才可以执行

问题?

如何使用CountDownLatch使得角色裁判,喊完各就位预备后,发枪,这个两个动作后,运动员才开始跑

需要使用callable接口,而不是runnable接口

复杂使用

裁判类 【Judge】

class Judge implements Callable<String>{private CountDownLatch startCreamLatch;private CountDownLatch startFireLatch;public Judge(CountDownLatch startCreamLatch, CountDownLatch startFireLatch) {this.startCreamLatch = startCreamLatch;this.startFireLatch = startFireLatch;}@Overridepublic String call() throws Exception {scream();this.startCreamLatch.countDown();this.startCreamLatch.await();fire();this.startFireLatch.countDown();this.startFireLatch.await();return "裁判发枪成功";}public void scream (){System.out.println("裁判喊:各就位");}public void fire(){System.out.println("开枪");}
}
  • 定义了scream的CountDownLatch 和 fire的 CountDownLatch
  • 在主类中分别设置倒计时为1,每次执行完,即可以执行下一个

运动员类【runner】

class Runner implements Callable<String>{private CountDownLatch startLatch;public Runner(CountDownLatch startLatch) {this.startLatch = startLatch;}@Overridepublic String call() throws Exception {this.startLatch.await();run();return Thread.currentThread().getName() + "运动员正在运动";}public void run(){System.out.println(Thread.currentThread().getName()+"运动员跑起来了");}
}

主线程【main】

public class Game{public static void main(String[] args) {CountDownLatch startCreamLatch = new CountDownLatch(1);CountDownLatch startFireLatch = new CountDownLatch(1);Judge judge = new Judge(startCreamLatch,startFireLatch);Runner runner = new Runner(startFireLatch);FutureTask futureTask = new FutureTask(judge);new Thread(futureTask).start();for (int i = 0; i < 8; i++) {FutureTask task = new FutureTask(runner);new Thread(task,"第"+String.valueOf(i)+"运动员").start();}}
}
http://www.yidumall.com/news/99528.html

相关文章:

  • 广州比较好的网站建设公司网络营销与管理
  • wordpress参考文档seo是哪个英文的缩写
  • 车佣做汽车网站怎么样微信指数是什么意思
  • 网站建设主要内容包括app怎么开发出来的
  • 优猫券网站怎么做bt磁力搜索神器
  • 武汉哪家做网站好服务营销7p理论
  • 如何开发一个app建设一个网站排名优化系统
  • 如何查看网站外链新东方留学机构官网
  • 个人网站更换域名seo刷网站
  • 凡科免费做网站交换友情链接的条件
  • 室内设计联盟邀请码怎么弄成都高薪seo
  • 武汉网站开发哪家好最近热点新闻事件
  • 建设网站编程语言太极seo
  • 网站关键字优化地点陕西网络推广公司
  • 做网站从哪里找货源万网阿里云域名查询
  • 网站里面嵌入的地图是怎么做的营业推广经典案例
  • 网站报名系统怎么做seo系统源码出售
  • 免费网站建设源码深圳营销型网站建设
  • 网站一般用什么语言深圳的seo网站排名优化
  • 做网站微信朋友圈应该怎么发服务营销案例
  • 世界杯视频直播网站推荐网站建设与营销经验
  • 怎么做视频在线播放网站推广途径有哪些
  • wordpress 模板 知乎百度seo排名主要看啥
  • 做非法网站要多少钱信息流优化师培训
  • 厦门网站建设外贸百度百度
  • 火车头wordpress 4.6做专业搜索引擎优化
  • 钢丝高频退火设备网站建设seo服务商排名
  • 怎么 给自己的网站做优化呢品牌营销策略研究
  • 网站被备案能建设新站seo竞价
  • 免费做网站报价网站建设纯免费官网