JAVA语言使用两种机制来实现堆某种共享资源的同步,synchronized和Lock.其中,synchronized使用Object对象本身的notify.wait.notifyAll调度机制,而lock可以使用Condition进行线程之间的调度,完成synchronized实现所有功能. 具体而言,两者的主要区别主要表现在以下几个方面: 1)用法不一样.在需要同步的对象中加入synchronized控制,synchronized既可以加在方法上,也可以加在特定代码中,括号中表示需要锁的对象…