java如何使用tryLock进行尝试锁定
发表于:2025-12-02 作者:千家信息网编辑
千家信息网最后更新 2025年12月02日,这篇文章主要讲解了"java如何使用tryLock进行尝试锁定",文中的讲解内容简单清晰,易于学习与理解,下面请大家跟着小编的思路慢慢深入,一起来研究和学习"java如何使用tryLock进行尝试锁定
千家信息网最后更新 2025年12月02日java如何使用tryLock进行尝试锁定
这篇文章主要讲解了"java如何使用tryLock进行尝试锁定",文中的讲解内容简单清晰,易于学习与理解,下面请大家跟着小编的思路慢慢深入,一起来研究和学习"java如何使用tryLock进行尝试锁定"吧!
synchronized是得不到这把锁就得等着。 reentrantlock比synchronized更灵活一些。
/** * reentrantlock用于替代synchronized * 由于m1锁定this,只有m1执行完毕的时候,m2才能执行 * 这里是复习synchronized最原始的语义 * * 使用reentrantlock可以完成同样的功能 * 需要注意的是,必须要必须要必须要手动释放锁(重要的事情说三遍) * 使用syn锁定的话如果遇到异常,jvm会自动释放锁,但是lock必须手动释放锁,因此经常在finally中进行锁的释放 * * 使用reentrantlock可以进行"尝试锁定"tryLock,这样无法锁定,或者在指定时间内无法锁定,线程可以决定是否继续等待 * @author mashibing */package yxxy.c_020;import java.util.concurrent.TimeUnit;import java.util.concurrent.locks.Lock;import java.util.concurrent.locks.ReentrantLock;public class ReentrantLock3 { Lock lock = new ReentrantLock(); void m1() { try { lock.lock(); for (int i = 0; i < 10; i++) { TimeUnit.SECONDS.sleep(1); System.out.println(i); } } catch (InterruptedException e) { e.printStackTrace(); } finally { lock.unlock(); } } /** * 使用tryLock进行尝试锁定,不管锁定与否,方法都将继续执行 * 可以根据tryLock的返回值来判定是否锁定 * 也可以指定tryLock的时间,由于tryLock(time)抛出异常,所以要注意unclock的处理,必须放到finally中 */ void m2() { /* boolean locked = lock.tryLock(); System.out.println("m2 ..." + locked); if(locked) lock.unlock(); */ boolean locked = false; try { //尝试等待一把锁,等5秒 locked = lock.tryLock(5, TimeUnit.SECONDS); System.out.println("m2 ..." + locked); } catch (InterruptedException e) { e.printStackTrace(); } finally { if(locked) lock.unlock(); } } public static void main(String[] args) { ReentrantLock3 rl = new ReentrantLock3(); new Thread(rl::m1).start(); try { TimeUnit.SECONDS.sleep(1); } catch (InterruptedException e) { e.printStackTrace(); } new Thread(rl::m2).start(); }}感谢各位的阅读,以上就是"java如何使用tryLock进行尝试锁定"的内容了,经过本文的学习后,相信大家对java如何使用tryLock进行尝试锁定这一问题有了更深刻的体会,具体使用情况还需要大家实践验证。这里是,小编将为大家推送更多相关知识点的文章,欢迎关注!
尝试
学习
内容
手动
时间
原始
重要
事情
功能
只有
就是
思路
情况
文章
方法
时候
更多
知识
知识点
篇文章
数据库的安全要保护哪些东西
数据库安全各自的含义是什么
生产安全数据库录入
数据库的安全性及管理
数据库安全策略包含哪些
海淀数据库安全审计系统
建立农村房屋安全信息数据库
易用的数据库客户端支持安全管理
连接数据库失败ssl安全错误
数据库的锁怎样保障安全
方舟如何查看服务器
微腾科技互联网
宜春市十四五网络安全
互联网的科技含义
监控网络技术的重要性
上海一站式软件开发优势
数据库为什么要买
网宿网络技术有限公司
阿里轻量级服务器能搭建几个网站
网络安全自查自纠工作通知
poker 软件开发
服务器temp文件夹
机器学习免费数据库
oracle数据库用户被锁
上海手机app软件开发流程
数据库管理实习日志
小程序公用数据库
绵阳天一互联网科技有限公司
网络安全态势通报
omapl138做服务器
软件开发设计师资格证书
网络安全为什么会重点议题
网络安全设计标准教程
网络安全教育团日活动黑板
济南计算机软件开发平台
数据库应用基础综合检测卷一
四川眉山国家网络安全宣传
新加坡邮政编码数据库
小学网络安全美篇
山东大学生网络安全知识竞赛