线程不是静态的概念,线程不是在程序代码中编写的Thread类,程序代码中是没有线程的,只有某种线程的行为定义!只有程序运行起来了,一个个的线程才会跑出来活动。
wait()的含义是 当前线程 等待synchronized()里面的对象的Notify。
1、你有没有实际运行过这个程序?
2、在这样的程序里面是的。因为构造函数里面把demoThread1的this传给了两个线程类,假如那两个线程跑起来的话,它们访问的是同一个DemoThread,就是demoThread1。
3、当前线程,可能是testThread1或者testThread2,demoThread不是一个线程,而是被线程抓住利用的对象,当线程得不到这个对象的时候,他会等待这个对象占有者满足之后的通知再继续使用这个对象。
第一个wait()是为了确保"1"线程首先占有对象,剩下的事情就是两个线程轮流来了。