在java中synchronized和Lock的区别:
1.lock是接口,而synchronized是关键字
2.synchronized无法判断是否获取锁的状态,而Lock可以判断。
3.synchronized在发生异常时候会自动释放占有的锁,而lock不会主动释放占有的锁,必须手动unlock来释放锁。
4.Lock可以提高多个线程进行读操作的效率。
5.Lock适合大量同步的代码,而synchronized不适合。