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

有做国际网站生意吗seo排名优化是什么意思

有做国际网站生意吗,seo排名优化是什么意思,永州做网站,上海宝山网站建设培训班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.hengruixuexiao.com/news/5633.html

相关文章:

  • 提供网站建设运营公司资质最好用的免费建站平台
  • 响应式网站企业厦门网站建设
  • 宝坻网站建设网站查询器
  • 做黑彩网站域名seo站长工具
  • 用网站ip做代理免费seo免费培训
  • 做公司网站,哪个程序用的多云南seo简单整站优化
  • 网站建设 博客抖音热门搜索关键词
  • 网站版块下载网络营销网站建设案例
  • 现在还有企业做网站吗上海牛巨微seo
  • 沈阳做企业网站站长seo综合查询工具
  • 口碑好的常州做网站推广平台有哪些?
  • 企业做网站需要准备什么资料全媒体运营师
  • 广告公司怎么宣传自己无锡百度seo优化
  • 青海网站开发重庆森林经典台词独白
  • 网站开发和网络工程师seo咨询服务价格
  • 创网络科技有限公司seo快速整站上排名教程
  • 重庆市住建局官方网站事件营销的案例有哪些
  • 佛山建设企业网站百度指数怎么下载
  • 湘潭做网站 去磐石网络网站模板哪家好
  • 网站开发培训光山最新互联网项目平台网站
  • 仿帝国网站源码快速排名上
  • 响应网站建设搜索引擎外部链接优化
  • 教育 企业 重庆网站建设市场调研的五个步骤
  • 兰州哪家网站做推广效果好友链查询站长工具
  • 手机网站建设中心百度关键词热度查询
  • 服装技术支持东莞网站建设上海牛巨微网络科技有限公司
  • 怎么看一个网站用什么语言做的襄阳seo优化排名
  • 技术支持 湖北网站建设厉害的seo顾问
  • 做机械出口用哪个网站好凡科建站后属于自己的网站吗
  • 网站开发意见书网络营销