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

家装设计网站大全wordpress奖励插件

家装设计网站大全,wordpress奖励插件,wordpress 文章推荐插件,php网站开发实例教程码源JUC#xff08;Java.util.concurrent#xff09;是Java 5中引入的一个并发编程库#xff0c;它包含了许多用于多线程处理的工具类和接口。JUC主要提供了以下特性#xff1a; 线程池#xff1a;线程池可以提高线程的使用效率#xff0c;避免频繁地创建和销毁线程#xff… JUCJava.util.concurrent是Java 5中引入的一个并发编程库它包含了许多用于多线程处理的工具类和接口。JUC主要提供了以下特性 线程池线程池可以提高线程的使用效率避免频繁地创建和销毁线程从而使得应用程序的性能得到提升。 并发集合类JUC提供了一些线程安全的集合类如ConcurrentHashMap、CopyOnWriteArrayList等可以在多线程环境下安全地操作集合。 原子操作类JUC提供了一些原子操作类如AtomicInteger、AtomicLong等可以在多线程环境下安全地操作共享变量。 同步器JUC提供了一些同步器如Semaphore、CountDownLatch、CyclicBarrier等可以协调多个线程之间的执行。 并发工具类JUC还提供了一些并发工具类如Lock、Condition等可以代替传统的synchronized关键字提供更灵活、更高效的线程同步机制。 CountDownLatch和CyclicBarrier都是Java中用于多线程编程的工具类属于同步器的一种。它们都可以用于控制多个线程的执行顺序。 代码示例 CountDownLatch  介绍 CountDownLatch是一个计数器通过它可以控制线程执行的先后顺序。它的作用是让某个线程等待若干个其他线程执行完后再执行。使用CountDownLatch时需要指定一个计数器的值当所有计数器都为0时等待线程才会继续执行。 代码  public class TestCountDown {private static CountDownLatch clnew CountDownLatch(4);public static void main(String[] args) {Thread thread1 new Thread(() - {try {System.out.println(start1);Thread.sleep(4000);cl.countDown();System.out.println(end1);} catch (InterruptedException e) {throw new RuntimeException(e);}});Thread thread2 new Thread(() - {try {System.out.println(start2);Thread.sleep(4000);cl.countDown();System.out.println(end2);} catch (InterruptedException e) {throw new RuntimeException(e);}});Thread thread3 new Thread(() - {try {System.out.println(start3);Thread.sleep(4000);cl.countDown();System.out.println(end3);} catch (InterruptedException e) {throw new RuntimeException(e);}});Thread thread4 new Thread(() - {try {System.out.println(start4);Thread.sleep(4000);cl.countDown();System.out.println(end4);} catch (InterruptedException e) {throw new RuntimeException(e);}});thread1.start();thread2.start();thread3.start();thread4.start();try {cl.await();} catch (InterruptedException e) {throw new RuntimeException(e);}System.out.println(ok);} } 运行结果 CyclicBarrier 介绍 CyclicBarrier也可以用于控制线程的顺序执行。它可以协调一组线程在某个屏障处等待并互相等待直到所有线程都到达该屏障后再一起继续执行。CyclicBarrier可以重复使用每次调用await()方法时计数器的值都会减1当计数器为0时所有线程都会被释放。 代码  public class TestCyclicBarrier {// 自定义工作线程private static class Worker extends Thread {private CyclicBarrier cyclicBarrier;public Worker(CyclicBarrier cyclicBarrier) {this.cyclicBarrier cyclicBarrier;}Overridepublic void run() {super.run();try {System.out.println(Thread.currentThread().getName() 开始等待其他线程);cyclicBarrier.await();System.out.println(Thread.currentThread().getName() 开始执行);// 工作线程开始处理这里用Thread.sleep()来模拟业务处理Thread.sleep(1000);System.out.println(Thread.currentThread().getName() 执行完毕);} catch (Exception e) {e.printStackTrace();}}}public static void main(String[] args) {int threadCount 3;CyclicBarrier cyclicBarrier new CyclicBarrier(threadCount);for (int i 0; i threadCount; i) {System.out.println(创建工作线程 i);Worker worker new Worker(cyclicBarrier);worker.start();}} } 运行结果 总结  总结来说CountDownLatch是控制一个线程等待多个其他线程执行完毕后再执行而CyclicBarrier是控制多个线程相互等待直到所有线程都到达某个屏障后再一起继续执行。
http://www.w-s-a.com/news/627787/

相关文章:

  • 新民电商网站建设价格咨询网站建设高效解决之道
  • 做网站需要哪些步骤网站设计介绍
  • 物流网站制作目的国外中文网站排行榜单
  • 苏州网站建设招标网站ftp的所有权归谁
  • 未央免费做网站河间网站建设
  • 酒庄企业网站app制作多少钱一个
  • 西安模板建网站网站如何做直播轮播
  • 网站功能需求表百度怎么投放自己的广告
  • 如何免费制作网站网站icp备案费用
  • 网站建设最新教程wordpress表白墙
  • android电影网站开发网站建设与设计实习报告
  • 公司汇报网站建设方案烟台seo网站推广
  • 文章网站哪里建设好找素材的网站
  • 怎么做自己的彩票网站公司建设网站价格
  • 国外比较好的设计网站网站后台无法上传图片
  • 帮别人做网站的公司是外包吗用户登录
  • 关于我们网站模板小莉帮忙郑州阳光男科医院
  • 上海门户网站怎么登录永州网站制作
  • 微信网站模版下载做销售的去哪个网站应聘
  • 好看的个人博客主页长安网站优化公司
  • 企业网站关站大型综合新闻门户网站织梦模板
  • 网站优化排名易下拉效率查企业网站
  • 网站建设湛江关于汽车的网站
  • 南宁模板建站多少钱企业黄页名单
  • 企业网站的建设一般要素有网站定制公司地址
  • 婚纱摄影网站设计案例四川省城乡建设厅官方网站
  • 怎么做海淘网站wordpress首页表单
  • 大连网站优化技术长沙高端网站建设服务
  • 郎创网站建设做的网站 v2ex
  • 广东网站建设教程江西城乡住房建设网站