在使用java线程时,我们提到了不少获取锁的方法,其中有一种方法比较特殊,在名称上也不便于大家的理解,所以本篇就lockInterruptibly进行详细的讲解。这个方法使得两个线程中一个获取锁,另一个处于等待的状态。接下来我们就lockInterruptibly的概念、使用注意、实例进行分享。
1、说明
两个线程都使用lockInterruptibly获取锁,如果线程A获取到了锁,线程B只能等待,对线程B调用interrupt()方法能够中断线程B的等待过程。
2、使用注意
由于lockInterruptibly()的声明中抛出了异常,所以lock.lockInterruptibly()必须放在try块中或者在调用lockInterruptibly()的方法外声明抛出InterruptedException。
3、实例
public void method() throws InterruptedException {
lock.lockInterruptibly();
try {
//.....
}
finally {
lock.unlock();
}
}当通过lockInterruptibly()方法获取某个锁时,如果不能获取到,只有进行等待的情况下,是可以响应中断的。
以上就是java中lockInterruptibly的使用,当大家想要两个线程中有一个先执行时,可以选择lockInterruptibly来让线程获取锁,学会后赶快试试相关的代码吧。



