本文主要介绍使用Java5中Lock对象也能实现同步的效果,而且在使用上更加方便。

本文着重掌握如下2个知识点:

ReentrantLock 类的使用。

ReentrantReadWriteLock 类的使用。

1. 使用ReentrantLock 类

在Java多线程中,可以使用 synchronized 关键字来实现线程之间同步互斥,但在JDK1.5中新增加了 ReentrantLock 类也能达到同样的效果,并且在扩展功能上也更加强大,比如具有嗅探锁定、多路分支通知等功能,而且在使用上也比 synchronized 更加的灵活。

1.1 使用ReentrantLock实现同步

调用ReentrantLock对象的lock()方法获取锁,调用unlock()方法释放锁。

下面是初步的程序示例:

public class Demo {    p
收藏 打印