如何调用lockInterruptibly方法对线程interrupt方法做出响应
发表于:2025-12-02 作者:千家信息网编辑
千家信息网最后更新 2025年12月02日,本篇内容介绍了"如何调用lockInterruptibly方法对线程interrupt方法做出响应"的有关知识,在实际案例的操作过程中,不少人都会遇到这样的困境,接下来就让小编带领大家学习一下如何处理
千家信息网最后更新 2025年12月02日如何调用lockInterruptibly方法对线程interrupt方法做出响应
本篇内容介绍了"如何调用lockInterruptibly方法对线程interrupt方法做出响应"的有关知识,在实际案例的操作过程中,不少人都会遇到这样的困境,接下来就让小编带领大家学习一下如何处理这些情况吧!希望大家仔细阅读,能够学有所成!
/** * reentrantlock用于替代synchronized * 由于m1锁定this,只有m1执行完毕的时候,m2才能执行 * 这里是复习synchronized最原始的语义 * * 使用reentrantlock可以完成同样的功能 * 需要注意的是,必须要必须要必须要手动释放锁(重要的事情说三遍) * 使用syn锁定的话如果遇到异常,jvm会自动释放锁,但是lock必须手动释放锁,因此经常在finally中进行锁的释放 * * 使用reentrantlock可以进行"尝试锁定"tryLock,这样无法锁定,或者在指定时间内无法锁定,线程可以决定是否继续等待 * * 使用ReentrantLock还可以调用lockInterruptibly方法,可以对线程interrupt方法做出响应, * 在一个线程等待锁的过程中,可以被打断 * * @author mashibing */
t1线程把这把锁给占了。
public class ReentrantLock4 { public static void main(String[] args) { Lock lock = new ReentrantLock(); Thread t1 = new Thread(()->{ try { lock.lock(); System.out.println("t1 start"); TimeUnit.SECONDS.sleep(Integer.MAX_VALUE); System.out.println("t1 end"); } catch (InterruptedException e) { System.out.println("interrupted!"); } finally { lock.unlock(); } }); t1.start(); Thread t2 = new Thread(()->{ try { //lock.lock(); lock.lockInterruptibly(); //可以对interrupt()方法做出响应 System.out.println("t2 start"); TimeUnit.SECONDS.sleep(5); System.out.println("t2 end"); } catch (InterruptedException e) { System.out.println("interrupted!"); } finally { lock.unlock(); } }); t2.start(); try { TimeUnit.SECONDS.sleep(1); } catch (InterruptedException e) { e.printStackTrace(); } t2.interrupt(); //打断线程2的等待 }}"如何调用lockInterruptibly方法对线程interrupt方法做出响应"的内容就介绍到这里了,感谢大家的阅读。如果想了解更多行业相关的知识可以关注网站,小编将为大家输出更多高质量的实用文章!
方法
线程
内容
手动
更多
知识
过程
原始
实用
重要
学有所成
接下来
事情
功能
只有
困境
实际
情况
文章
时候
数据库的安全要保护哪些东西
数据库安全各自的含义是什么
生产安全数据库录入
数据库的安全性及管理
数据库安全策略包含哪些
海淀数据库安全审计系统
建立农村房屋安全信息数据库
易用的数据库客户端支持安全管理
连接数据库失败ssl安全错误
数据库的锁怎样保障安全
蚌埠电商软件开发哪家好
天堂2m台服服务器选择
数据库pdf微盘
美国特价服务器
什么是征信大数据库
学校网络安全管理工作职责分工
家庭维修软件开发
我的世界PE版服务器缓存数据
面向对象数据结构与软件开发
深圳市华半网络技术有限公司
深圳康吸网络技术有限公司
文安租房软件开发
三大网络安全系统
中天精装招聘软件开发
幻塔无法连接服务器什么原因
基于数据分析的网络安全控制
经济安全包括网络安全吗
职业规划网络安全
郑州平台软件开发高新区
天一网络技术有限公司招聘
华为网络安全故障排查案例
服务器开机不了原因
路由器做服务器穿透
tw软件开发
网络安全常用关键技术有哪些
谷歌服务器怎么设置不用更新
环宇讯通网络技术有限公司
软件开发和软件实施那个累
jboss连接数据库防火墙
信息技术的数据库