本帖最后由 终结者 于 2013-11-21 19:32 编辑
public class ThreadTest{
public static void main(String[] args) {
new Thread(new Demo(true)).start();
new Thread(new Demo(false)).start();
}
}
class Demo implements Runnable{
private boolean flag;
public Demo(boolean flag){
this.flag=flag;
}
@Override
public void run() {
while(true){
if(flag){
synchronized(Demo.class){
System.out.println("Demo.class");
synchronized(this){
System.out.println("this");
}
}
}
else{
synchronized(this){
System.out.println("this");
synchronized(Demo.class){
System.out.println("Demo.class");
}
}
}
}
}
}
这个为什么没有发生死锁,求解原因 |