它们两个的区别:
1、synchronize是java中的关键字,而Lock是接口,它下面有很多的实现类。
2、synchronize会自动释放锁,而lock需要‘手动’释放。
3、synchronize不知道线程有没有获取到锁,而lock能知道。
4、synchronize是非公平锁,而lock可以是公平锁,也可以是非公平锁。
5、synchronize等待不中断,而lock等待可中断。
6、synchronize可以锁对象、类、代码块,而lock锁住的是代码块。
结尾
这是本人对这个见解,不足之处请指出。谢谢。