1、Lock是显示锁(手动开启和关闭,别忘记关闭),synchronize是隐式锁,出了所用域自动释放。
2、Lock只有代码块锁,synchronize有代码块锁和方法锁。
3、使用Lock锁,JVM将花费较少的时间来调度线程,性能更好。并且具有更好的扩展性(提供更多的子类,比如:ReentrantLock)
4、优先使用顺序:
Lock>同步代码块(方法体中的代码块,分配了相应的资源)>同步方法(在方法体之外)
版权声明:本文为SongYuxinIT原创文章,遵循CC 4.0 BY-SA版权协议,转载请附上原文出处链接和本声明。