爱问知识人 爱问教育 医院库

java 线程释放锁的问题

首页

java 线程释放锁的问题

class TestThread implements runnable{
  Object o1 = new Object(), o2 = new Object();
  public void run() {
    synchronized(o1) {...}
    synchronized(o2) {...}
  }
}

o1和o2是两个对象,请问o1和o2的锁是在该线程全部结束后释放,还是结束o1{}块里的语句,就先释放o1的锁,然后结束o2后在释放o2的锁?

提交回答
好评回答
  • 2008-03-30 22:34:27
    你这样写锁的并不是TestThread的对象,而是分别锁o1和o2。
    synchronized(o1) {...}结束后,o1的锁解开;
    synchronized(o2) {...}结束后,o2的锁解开。
    然后该线程结束。

    哆***

    2008-03-30 22:34:27

类似问题

换一换

相关推荐

正在加载...
最新资料 推荐信息 热点推荐
  • 1-20
  • 21-40
  • 41-60
  • 61-80
  • 81-100
  • 101-120
  • 121-140
  • 141-160
  • 161-180
  • 181-200
  • 1-20
  • 21-40
  • 41-60
  • 61-80
  • 81-100
  • 101-120
  • 121-140
  • 141-160
  • 161-180
  • 181-200
  • 1-20
  • 21-40
  • 41-60
  • 61-80
  • 81-100
  • 101-120
  • 121-140
  • 141-160
  • 161-180
  • 181-200

热点检索

  • 1-20
  • 21-40
  • 41-60
  • 61-80
  • 81-100
  • 101-120
  • 121-140
  • 141-160
  • 161-180
  • 177-196
返回
顶部
帮助 意见
反馈

确定举报此问题

举报原因(必选):