通知是否在线程完成时发出信号?为什么此代码示例有效?
2022-09-03 13:55:06
						我正在寻找一些谜题的线程,我不明白为什么以下一致打印:999999
class Job extends Thread {  
    private Integer number = 0;  
    public void run() {  
        for (int i = 1; i < 1000000; i++) {  
            number++;  
        }  
    }  
    public Integer getNumber() {  
        return number;  
    }  
}  
public class Test {  
    public static void main(String[] args)   
    throws InterruptedException {  
        Job thread = new Job();  
        thread.start(); 
        synchronized (thread) {  
            thread.wait();  
        }  
        System.out.println(thread.getNumber());  
    }  
}   
同一个锁上没有(并且似乎忽略了虚假唤醒)。
如果线程完成,通知是否发出信号或其他内容?
为什么打印结果而不被“卡住”等待?notifymain