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中的集合主要分为四类:
1、List列表:有序的,可重复的;
2、Queue队列:有序,可重复的;
3、Set集合:不可重复;
4、Map映射:无序,键唯一,值不唯一。
以上是Java中的Lock接口是什么?的详细内容。更多信息请关注PHP中文网其他相关文章!