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

1 Lock lock = new ReentrantLock();
2         lock.lock();
3         try {
4         }finally {
5             lock.unlock();
6         }

不要将获取锁的过程写在try块中,因为如果在获取锁时发生了异常,会导致锁无故释放。

posted on 2017-12-11 15:10  飞奔的菜鸟  阅读(112)  评论(0编辑  收藏  举报