本教程操作环境: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接口的概念,可以说在锁的获取与释放上实现了相关的技术操作。
以上就是java中lock接口的基本介绍,看完文章的小伙伴会发现,其中很多接口类是我们使用过的,大家看完后不妨就lock接口做一些练习。