solitaryclown

Junit不支持多线程测试

2021-12-27
solitaryclown

Thread t1 = new Thread(() -> {
            log.debug("死循环...");
            while (true){

            }
            /*try {
                Thread.sleep(5000);
            } catch (InterruptedException e) {
                e.printStackTrace();
            }
*/
        });

        t1.start();
        try {
            Thread.sleep(500);
        } catch (InterruptedException e) {
            e.printStackTrace();
        }

        t1.interrupt();
        log.debug("t1被打断了.");
        log.debug("{}",t1.isInterrupted());

调用t1.interrupt(),对于正常运行的线程t1,只会设置其打断标记,不会影响其执行。 但上面的代码在junit单元测试方法中,当主线程结束子线程也会结束,在普通的类中测试则不会出现这种情况。


下一篇 Interrupt()

Comments

Content