• 多线程测试时的辅助类--CountDownLatch


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

  • 相关阅读:
    struts1与struts2的防止表单重复提交
    JSTL 笔记
    fiddler的columns添加HTTPMethod
    兼容性测试技巧
    测试基础知识总结
    测试用例的书写方式及测试模板大全【转】
    软件测试的方法分类
    解决vue不支持promise语法问题
    vue-router 导航守卫
    e.target与事件委托简例【转】
  • 原文地址:https://www.cnblogs.com/code-fun/p/11305212.html
Copyright © 2020-2023  润新知