Junit在多线程测试时的坑 Junit单元测试主线程退出,子线程也会退出

Junit单元测试主线程退出,子线程也会退出

    @Test
    public void test() throws InterruptedException {
        Thread t1 = new Thread(() -> {
            try {
                TimeUnit.SECONDS.sleep(5);
            } catch (InterruptedException e) {
                throw new RuntimeException(e);
            }
            System.out.println(Thread.currentThread().getName()+":finish");
        }, "t1");
        t1.start(); 
    }

可以看到什么都不会打印,如果给主线程也加上sleep,那就可以了

    @Test
    public void test() throws InterruptedException {
        Thread t1 = new Thread(() -> {
            try {
                TimeUnit.SECONDS.sleep(5);
            } catch (InterruptedException e) {
                throw new RuntimeException(e);
            }
            System.out.println(Thread.currentThread().getName()+":finish");
        }, "t1");
        t1.start();
        TimeUnit.SECONDS.sleep(6);
    }

相关推荐

  1. QThread线退出

    2023-12-30 06:52:02       46 阅读
  2. C# 使用线,关闭窗体退出所有线

    2023-12-30 06:52:02       57 阅读

最近更新

  1. docker php8.1+nginx base 镜像 dockerfile 配置

    2023-12-30 06:52:02       98 阅读
  2. Could not load dynamic library ‘cudart64_100.dll‘

    2023-12-30 06:52:02       106 阅读
  3. 在Django里面运行非项目文件

    2023-12-30 06:52:02       87 阅读
  4. Python语言-面向对象

    2023-12-30 06:52:02       96 阅读

热门阅读

  1. 一周中的第几天

    2023-12-30 06:52:02       61 阅读
  2. 成功软件项目的规划和管理策略

    2023-12-30 06:52:02       66 阅读
  3. 27.移除元素

    2023-12-30 06:52:02       65 阅读
  4. xdoj结构体,综合题型,考试排名,拼数字

    2023-12-30 06:52:02       53 阅读
  5. kubernetes service和headless service有什么区别?

    2023-12-30 06:52:02       54 阅读