62,634
社区成员




public class Test5 implements Runnable {
int flag;
static Object o1 = new Object(), o2 = new Object();
public void run() {
if (flag == 1) {
synchronized (o1) {
System.out.println("拿到o1");
synchronized (o2) {
System.out.println("也拿到o2");
}
}
}
if (flag == 2) {
synchronized (o2) {
System.out.println("拿到o2");
synchronized (o1) {
System.out.println("也拿到o1");
}
}
}
}
/**
* @param args
*/
public static void main(String[] args) {
// TODO Auto-generated method stub
Test5 t1 = new Test5();
t1.flag = 1;
Test5 t2 = new Test5();
t2.flag = 2;
Thread r1 = new Thread(t1);
Thread r2 = new Thread(t2);
r1.start();
r2.start();
}
}