①synchronized是jvm的关键字,Lock是Java类;

②synchronized会自动释放锁,而Lock需要在finally语句中主动释放锁,否则会造成死锁

③用synchronized锁的两个线程,线程A获取锁之后阻塞,线程B会一直等待下去,而Lock锁中线程B尝试获取不到锁后,会停止等待

④synchronized的锁可重入、不可中断、非公平,而Lock锁可重入、可中断、可公平

⑤Lock适合大量同步代码的同步问题,而synchronized适合少量同步代码的同步问题

posted on 2019-03-20 11:33  蓝绿绿  阅读(151)  评论(0编辑  收藏  举报