lock锁与synchronized的区别

2019-05-15  本文已影响0人  赌未来_e1e8

1  lock是显示锁(手动开启和关闭锁,别忘关闭锁)synchronized是隐式锁

2  Lock只有代码块锁,synchronized有代码块锁和方法锁,

3 使用lock锁,JVM讲话费较少的时间来调度线程,性能更好,并且具有更好的扩展性(提供更多的子类)

4 Lock确保当一个线程位于代码的临界区时,另一个线程不进入临界区。如果其他线程试图进入锁定的代码,则它将一直等待(即被阻止),直到该对象被释放。Lock()方法会对lock()实例对象进行加锁,因此所有对该对象调用lock()方法的线程都会被阻塞,直到该lock对象的unlock()方法被调用

上一篇 下一篇

猜你喜欢

热点阅读