在Java中通常实现锁有两种方式,一种是synchronized关键字,另一种是Lock.二者其实并没有什么必然联系,但是各有各的特点,在使用中可以进行取舍的使用.首先我们先对比下两者. 实现: 首先最大的不同:synchronized是基于JVM层面实现的,而Lock是基于JDK层面实现的.曾经反复的找过synchronized的实现,可惜最终无果.但Lock却是基于JDK实现的,我们可以通过阅读JDK的源码来理解Lock的实现. 使用: 对于使用者的直观体验上Lock是比较复杂的,需要loc…