使用 synchronized 关键字将会隐式的获取锁,但是它将锁的获取和释放固化了,这种方式简化了同步的管理,但是可扩展性和灵活性较差。通过使用 Java 提供的显式锁,我们可以更加灵活地使用锁处理同步,并且可以方便地自定义锁。下面是与 synchronized 相比,显式锁特有的功能:
在获取锁时可以响应超时
公平锁