Lock接口
锁是用来控制多个线程访问共享资源的方式
一般来说,锁能够防止多个线程同时访问共享资源(但也有的锁可以允许多个线程访问共享资源,比如读写锁)
在Lock接口出现前,靠synchronized...实现锁功能,但是在Java5之后并发包中新增了Lock接口(及其相关实现类)来实现锁功能....它提供了与synchronized类似的同步功能,只是Lock需要显示的获取和释放锁,虽然缺少了隐式获取释放锁的便捷性,但是拥有了获取与释放锁的可操作性,可中断的获取锁以及超时获取等多种synchronized...这也是比synchronized好的地方,即使某些事务失败了,finally字句的unlock()将系统维护在正确状态
不要将获取锁的过程写在try块中,因为如果在获取锁(自定义锁的实现)时发生了异常...Lock接口提供的synchronized所不具备的主要特性如下表
Lock是一个接口,它定义了锁获取和释放的基本操作,API如表
这里只是简单介绍一下Lock接口的API
Lock