1700451319
1700451320
//资源A
1700451321
1700451322
static class A{
1700451323
1700451324
public synchronized void a1(B b){
1700451325
1700451326
String name=Thread.currentThread().getName();
1700451327
1700451328
System.out.println(name+“进入A.a1()”);
1700451329
1700451330
try{
1700451331
1700451332
//休眠1秒,仍然持有锁
1700451333
1700451334
Thread.sleep(1000);
1700451335
1700451336
}catch(Exception e){
1700451337
1700451338
//异常处理
1700451339
1700451340
}
1700451341
1700451342
System.out.println(name+“试图访问B.b2()”);
1700451343
1700451344
b.b2();
1700451345
1700451346
}
1700451347
1700451348
public synchronized void a2(){
1700451349
1700451350
System.out.println(“进入a.a2()”);
1700451351
1700451352
}
1700451353
1700451354
}
1700451355
1700451356
//资源B
1700451357
1700451358
static class B{
1700451359
1700451360
public synchronized void b1(A a){
1700451361
1700451362
String name=Thread.currentThread().getName();
1700451363
1700451364
System.out.println(name+“进入B.b1()”);
1700451365
1700451366
try{
1700451367
1700451368
//休眠1秒,仍然持有锁
[
上一页 ]
[ :1.700451319e+09 ]
[
下一页 ]