java多线程学习(五) 之 Lock
java里的Lock提供了比synchronized更灵活的线程同步操作,可以让你更自由的获取锁,释放锁。 官方解释: Lock implementations provide more extensive locking operations than can be obtained using synchronized methods and statements. They allow more flexible structuring, may have quite different properties, and may support multiple associated Condition objects. Lock的实现类提供了比synchronized更广泛意义上锁操作,它允许用户更灵活的代码结构,更多的不同特效,支持多个相关的Condition 对象。 这里我们先不去了解什么是Condition对象,我们主要还是看Lock的基本操作,来完成synchroized可以完成的工作。 A lock is a tool for controlling access to a shared resource by multiple threads. Commonly, a lock provides exclusive access to a shared resource: only one thread at a time can acquire the lock and all access to the shared resource requires that the lock be acquired first. However, some locks may allow concurrent access to a shared resource, such as the read lock of a ReadWriteLock. Lock 是一个对多线程访问共享资源进行控制的工具,通常 一个锁提供了一个共享资源的独占访问, 也就是说在同一时间,只有一个线程可以获取到该锁,在获取锁之后,才能对共享资源进行访问。当然也有的锁允许并发访问资源,例如这种特殊的锁ReadWriteLock ...