1、Lock不是Java语言内置的,synchronized是Java语言的关键字,因此是内置特性。Lock是一个类,通过这个类可以实现同步访问;

2、Lock和synchronized有一点非常大的不同,采用synchronized不需要用户去手动释放锁,当synchronized方法或者synchronized代码块执行完之后,系统会自动让线程释放对锁的占用;而Lock则必须要用户去手动释放锁(lock.unlock(),如果没有主动释放锁,就有可能导致出现死锁现象。

posted on 2019-01-17 17:19  一中晴哥威武  阅读(184)  评论(0编辑  收藏  举报