多线程时,很多时候由于mian线程与多线程结束时间不可控,造成无法测试

辅助测试类---CountDownLatch

我看的视频教程匿名内部类无法使用外部的变量,所以CountDownLatch定义为了final,但是我现在jdk12似乎没问题

/**
 * 多线程环境下运用CountDownLatch测试五种模式
 * @author 小帆敲代码
 *
 */
public class Test02 {
  public static void main(String[] args) throws Exception {
   long start =System.currentTimeMillis();
     int threadNum=10;
   CountDownLatch countDownLatch=new CountDownLatch(threadNum);
   
   for(int i=0;i<10;i++) {

//lambda
//   new Thread(()-> {
//    for(int j=0;j<100000;j++) {
////     Object o=Demo04.getInstance();
//     Object o=Demo05.INSTANCE;
//    }
//    countDownLatch.countDown();//计数-1
//   }).start();
//   }
    new Thread(new Runnable() {
     @Override
     public void run() {
      for(int j=0;j<100000;j++) {
//      Object o=Demo04.getInstance();
       Object o=Demo05.INSTANCE;
      }
      countDownLatch.countDown();//计数-1
     }
    }).start();
    }
   
   countDownLatch.await();//mian线程阻塞直至计数为0
   long end =System.currentTimeMillis();
   System.out.println("共计:"+(end-start));
  }
}

最新文章

  1. NoSql 中Mongodb数据库的使用
  2. 在VS中添加lib库的三种方法
  3. 修改phpMyAdmin中的默认1440超时时间
  4. BZOJ 1901 Zju2112 Dynamic Rankings ——树状数组套主席树
  5. thread_CyclicBarrier回环栅栏
  6. 面向对象的static关键字(类中的static关键字)
  7. SQL Server 2008 数据库日志文件丢失处理方法
  8. algorithm@ dijkstra algorithm &amp; prim algorithm
  9. IE6,IE7下滚动条没有生效解决方法
  10. centos安装如何选择安装包
  11. ExtJs4 笔记(12) Ext.toolbar.Toolbar 工具栏、Ext.toolbar.Paging 分页栏、Ext.ux.statusbar.StatusBar 状态栏
  12. 计算器之webservice实现
  13. Java源码解读(一)——HashMap
  14. python3+selenium入门02-操作火狐浏览器
  15. js 字符串,new String() 与 String()
  16. Intellij IDEA 为常用代码添加快捷代码,补全代码
  17. C++基础学习一(基础之基础)
  18. RESTframwork之视图view
  19. Java虚拟机--Java内存区域的划分和异常
  20. HDU 2097 Sky数 进制转换

热门文章

  1. async,await执行流看不懂?看完这篇以后再也不会了
  2. Windows DC域控由server08r2升级至server2016测试
  3. Python 【面试强化宝典】
  4. [javascript]JS获取当前时间戳的方法
  5. Netty入门与实战教程总结分享
  6. 解决报错:JPA-style positional param was not an integral ordinal;
  7. 对JavaScript中的this的理解
  8. amba H2平台用PWM控制LCD背光
  9. php +go关键字实现协程
  10. 2019-2020-1 20199328《Linux内核原理与分析》第六周作业