一.原始构成 synchronized是关键字属于JVM层面,monitorenter(底层是通过monitor对象来完成,其实wait/notify等方法也依赖monitor对象只有在同步代码块和同步方法中才能调用wait/notify等方法) Lock是具体的类,是api层面的锁: 二.使用方法 synchronized不需要用户手动释放锁,synchronized代码执行完成以后系统会自动让线程释放对锁的占有 ReentrantLock则需要用户手动去释放锁,若没有主动释放锁,就有可能导致…