Synchronize与Lock的对比

1、Lock是显示锁(手动开启和关闭,别忘记关闭),synchronize是隐式锁,出了所用域自动释放。

2、Lock只有代码块锁,synchronize有代码块锁和方法锁。

3、使用Lock锁,JVM将花费较少的时间来调度线程,性能更好。并且具有更好的扩展性(提供更多的子类,比如:ReentrantLock)

4、优先使用顺序:

          Lock>同步代码块(方法体中的代码块,分配了相应的资源)>同步方法(在方法体之外)

你可能感兴趣的:(Java基础,java,juc)