gpt4 book ai didi

java - 强制解锁可重入锁

转载 作者:塔克拉玛干 更新时间:2023-11-02 19:31:59 25 4
gpt4 key购买 nike

我有一个可重入锁,我根据自己的需要将其包装在自定义类中。然而,由于应用程序的性质,持有可重入锁锁的线程被卡住(外部故障)并且无法释放可重入锁。

请问有没有显式解锁重入锁的方法?我知道可重入锁的 API 没有这样的方法 - 但是我正在考虑引入一个计时器任务,它将在一段设定的时间后解锁可重入锁或杀死持有可重入锁的线程。

在尝试强制解锁我的可重入锁时还有其他建议吗?我的解决方案很漂亮,所以我问。

最佳答案

我不会在外部解锁,而是在单独的线程中执行阻塞代码并让它超时

像这样的

Future<MyTask>future = taskExecutor.submit(myTask)
try {
future.get(5,TimeUnit.Seconds);
...
}
catch (Exception e)
{
future.cancel(true); // attempt to interupt the thread
throw new Exception();
}

关于java - 强制解锁可重入锁,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/12791797/

25 4 0
Copyright 2021 - 2024 cfsdn All Rights Reserved 蜀ICP备2022000587号
广告合作:1813099741@qq.com 6ren.com