File size: 946 Bytes
0284885 | 1 2 3 4 5 6 7 8 9 10 11 12 13 14 15 16 17 18 19 20 21 22 23 24 25 26 27 28 29 30 31 | package Thread_safe_package;
public class MyThread3 extends Thread {
static Object objA = new Object();
static Object objB = new Object();
@Override
public void run() {
//1、循环
while (true) {
if ("线程A".equals(getName())) {
synchronized (objA){
System.out.println("线程A拿到了A锁,准备拿B锁");
synchronized (objB){
System.out.println("线程A拿到了B锁,顺利执行完一轮");
}
}
} else if ("线程B".equals(getName())) {
synchronized (objB){
System.out.println("线程B拿到了B锁,准备拿A锁");
synchronized (objA){
System.out.println("线程B拿到了A锁,顺利执行完一轮");
}
}
}
}
}
}
|