多线程时,很多时候由于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));
  }
}

多线程测试时的辅助类--CountDownLatch相关推荐

  1. Junit单元测试不支持多线程测试问题全解析

    一.背景 今天@段段提出了一个很好的问题,她发现单元测试时如果开多个线程,主线程运行结束就结束了,并不会等待子线程结束. 如果用main方法就没问题,技术群里展开了激烈的讨论. 本文将"复现 ...

  2. 【OpenCV】cv::VideoCapture 多线程测试

    cv::VideoCapture多线程测试结果: 在多线程中使用抓取摄像头视频帧时线程安全的,但是,多个线程会共用摄像头的总帧率. 比如,我用两个线程测试30帧的摄像头,每个线程差多都是15帧.

  3. Junit如何进行多线程测试

    Junit和许多开源软件项目集成在一起,但是Junit执行多线程的单元测试有一些问题.这篇文章介绍Junit的一个扩展类库―――GroboUtils,这个类库被设计为来解决这些问题,并且使在Junit ...

  4. cpu线程测试软件,CPU多线程测试:wPrime/国际象棋

    CPU多线程测试:wPrime/国际象棋 CPU多线程测试:wPrime/国际象棋 wPrime是一款通过算质数来测试计算机运算能力等的软件(特别是并行能力),但与Super Pi只能支持单线程不同的 ...

  5. c语言多实力测试,C语言 多线程测试

    1.CreateThread 在主线程的基础上创建一个新线程 2.WaitForMultipleObjects 主线程等待子线程 3.CloseHandle 关闭线程 // testThread.cp ...

  6. 匿名函数应用-多线程测试代码

    多线程测试代码,不用单独再写一个类,比较方面而已. public class MainThread { static int a=0; for (int x = 0;x<100;x++){ Th ...

  7. Pytorch 训练与测试时爆显存(cuda out of memory)的终极解决方案,使用cpu(勿喷)

    Pytorch 训练与测试时爆显存(cuda out of memory)的终极解决方案,使用cpu(勿喷) 参见了很多方法,都没有用. 简单点,直接把gpu设成-1

  8. 在执行ab压力测试时出现socket: Too many open files (24)的解决方法

    当入行压力测试时出现下列错误 [root@zabbix ~]# ab -n 3000 -c 3000 http://192.168.0.2/ This is ApacheBench, Version ...

  9. dnscat使用——整体感觉这个工具不完善,失败率很高,传文件时候没有完整性校验,我自己测试时通过域名转发失败,可能是其特征过于明显导致...

    git clone https://github.com/iagox86/nbtool make 然后就可以按照下面的官方说明进行操作了. 我的感受:整体感觉这个工具不完善,失败率很高,传文件时候没有 ...

  10. 测试时用存储过程来修改测试数据

    在测试时,可能会需要制造些假数据来测试,此时可以用存储过程来实现差异化的数据 代码如下: DROP PROCEDURE IF EXISTS test; DELIMITER // CREATE PROC ...

最新文章

  1. comsol稀物质传递_印刷指南丨印刷油墨传递的影响因素?
  2. NPS的几个技术点(在Win 2003中称为Internet 验证服务)
  3. 【OpenCV 例程200篇】97. 反谐波平均滤波器
  4. ASP.net 2.0 自定义控件的开发之数据分页 第五章
  5. 那些年移动互联网行业曾经走过的弯路
  6. 如何在VLC中添加字幕?
  7. HenCoder Android开发进阶系列学习笔记
  8. 51单片机c语言程序控制,51单片机C语言总结
  9. php新年倒计时源码,2020新年倒计时网页HTML源代码 | 一叶轻舟
  10. 江城子/乙卯正月二十日夜记梦——苏轼
  11. PotPlayer和MPC-HC挂载VSFilterMod加载外挂特效字幕的方法
  12. Wireless-AC 8265 CentOS7 无线网卡驱动安装
  13. Java日期工具-Joda-Time和FastDateFormat
  14. 搜狗输入法无法输出中文
  15. oracle 求正数总和,为什么sum时负数不能相加?
  16. 我的世界mysql插件_MySQL Inventory Bridge — 跨服背包[1.7-1.15]【Bukkit】
  17. Google OR-Tools(一) Get Start
  18. codeforces 577
  19. 电商数仓描述_笔记-尚硅谷大数据项目数据仓库-电商数仓V1.2新版
  20. Python Pareto柏拉图分析

热门文章

  1. win10 安装oracle 11gR2_database(内附下载地址)
  2. xilinx FIFO的使用及各信号的讨论
  3. 【java面试题】equals()方法和==的比较区别?
  4. web 前端(轮番插件)
  5. yii2 gii页面404和debug调试栏无法显示解决方法
  6. MediaChooser图库浏览器
  7. Go语言中的面向对象
  8. MaxEnt: 最大熵模型(Maximum Entropy Models)(二)
  9. python协同过滤电影推荐的论文_Netflix电影推荐系统Python实现(协同过滤+矩阵分解)...
  10. python使用协程_Python使用协程进行爬虫