这里为什么只打印一个1呢?在junit里测试

public class AlternateTest {

  static   Object o = new Object();
    //交替执行
    @Test
    public void test1() throws InterruptedException {
        new Thread(() -> {
            synchronized (o) {
                while (true){
                    try {
                        o.notify();
                        Thread.sleep(100);
                        System.out.println("1");
                        o.wait();
                    } catch (InterruptedException e) {
                        e.printStackTrace();
                    }

                }
            }
        }).start();
        Thread.sleep(100);
        new Thread(()->{

            synchronized (o){
                try {
                    while (true){
                        o.notify();
                        Thread.sleep(100);
                        System.out.println("2");
                        o.wait();
                    }
                } catch (InterruptedException e) {
                    e.printStackTrace();
                }
            }
        }).start();
    }}

 


当Thread了新的线程后,Junit单元测试 在主线程运行结束后就关闭了,而不会等子线程运行结束。而main函数就不存在这个问题

Junit 单元测试 不支持 多线程