java我们可以中断一个已经获得锁的线程吗?
据我所知,Lock
有一个方法lockInterruptibly
,它可以中断正在轮询以获取锁的线程。所以我想知道,当线程成功获得锁并在try
块内执行操作时,它会被中断吗?为什么?如果可以,怎么做
你可以在下面搜索框中键入要查询的问题!
据我所知,Lock
有一个方法lockInterruptibly
,它可以中断正在轮询以获取锁的线程。所以我想知道,当线程成功获得锁并在try
块内执行操作时,它会被中断吗?为什么?如果可以,怎么做
# 1 楼答案
是的,但是如果您这样做,您需要非常小心地确保您释放了锁
这是Java中的一种情况,在这种情况下,如果能保证在对象超出范围时调用析构函数,那就太好了
谢天谢地,您可以通过
try ... finally
块绕过这个限制。您的异步代码可能如下所示: