【发布时间】:2012-11-24 08:32:31
【问题描述】:
在 Java 多线程中避免死锁情况的策略之一是使用超时。 假设,一个线程已经获得了一个资源的锁,现在正在等待另一个资源的锁。在一定时间后,如果它无法获得资源 2 上的锁,则它应该停止等待资源 2 上的锁。它还应该释放对资源 1 的锁定。这样可以避免死锁。
但是如何在 Java 中实现呢?如何显式“释放”锁?如何定义超时等待锁定。
什么是确切的 java 命令和语法。请问有什么好样的例子吗?
【问题讨论】:
-
其他解决方案;总是以相同的顺序获取锁,或者从不获取多个锁。 ;)
-
+1
How to define timeout to wait for lock
标签: java multithreading locking timeout deadlock