java中lock接口是什么

本教程操作环境:windows7系统、java10版,DELL G3电脑。

1.说明

lock 接口出现之前,Java 程序是靠 synchronized 关键字实现锁功能的,而 Java SE 5 之后,并发包中新增了 lock 接口 (以及相关实现类) 用来实现锁功能,它提供了与 synchronized 关键字类似的同步功能,

只是在使用时需要显式地获取和释放锁。虽然它缺少了 (通过 synchronized 块或者方法所提供的) 隐式获取释放锁的便捷性,但是却拥有了锁获取与释放的可操作性、可中断的获取锁以及超时获取锁等多种 synchronized 关键字所不具备的同步特性。

2.主要方法

lock() 添加锁

unlock() 释放锁

tryLock() 这个方法确保了在需要锁的时候,是未加锁的状态。返回true,表示是未加锁的;返回false,表示已加锁。

new Condition() 返回当前lock的一个Condition实例

因为每次都锁住代码效率不高,又扩展了ReadWriteLock,实现类主要有ReentrantReadWriteLock

我们在使用锁功能时,由于synchronized的不足点,会带来一些使用上的不便,在新的java版本中,产生了lock接口的概念,可以说在锁的获取与释放上实现了相关的技术操作。

原文来自:https://www.py.cn
© 版权声明
THE END
喜欢就支持一下吧
点赞12 分享
评论 抢沙发
头像
欢迎您留下宝贵的见解!
提交
头像

昵称

取消
昵称表情代码图片快捷回复

    暂无评论内容