【问题标题】:acquirement and release of multiple locks by the same thread同一个线程获取和释放多个锁
【发布时间】:2016-01-23 19:31:57
【问题描述】:

假设某个线程获得了对象 A 的锁,现在正在执行该对象的同步方法。在该方法中,调用了某个对象 B 的同步方法,并且线程在尝试获取该对象 B 的锁时被阻塞。

当线程等待对象 B 的锁时,对象 A 的锁是否被释放?
这种情况会导致多线程设计出现问题吗?

【问题讨论】:

  • 你的意思是像deadlock
  • 死锁或任何其他我可能不知道的问题

标签: java multithreading locks


【解决方案1】:

不,对象 A 将保持锁定状态。

如果其他线程先锁定B并尝试锁定A,可能会导致死锁。

【讨论】:

  • 谢谢迈克尔。现在我很肯定这种情况在我的代码中造成了一些问题,但奇怪的是,我在网上找不到这个问题的答案......
猜你喜欢
  • 2012-07-07
  • 1970-01-01
  • 1970-01-01
  • 2016-09-27
  • 1970-01-01
  • 2023-03-19
  • 1970-01-01
  • 1970-01-01
  • 1970-01-01
相关资源
最近更新 更多