Lock
Lock提供了比synchronized方法和synchronized代码块更广泛的锁定操作,Lock允许更灵活的结构,可以具有差别很大的属性。Lock和ReadWriteLock是java5提供的两个接口,并为Lock提供了ReentrantLock实现类,为ReadWriteLock提供了ReentrantReadWriteLock实现类。
Lock比传统线程模型中的synchronized方式更加面向对象,与生活中的锁类似,锁本身也应该是一个对象。两个线程执行的代码片段要实现同步互斥的效果,它们必须用同一个Lock对象。
以下是ReentrantLock的基本用法:
Last updated