Lock和synchronized的对比

Lock和synchronized的对比

Lock是显式锁(手动开启和关闭锁)synchronized是隐式锁,除了作用域自动释放。

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

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

优先使用顺序

Lock>同步代码(已经进入了方法体,分配了相应资源)>同步方法(在方法体之外)

Lock简介

ReentrantLock可重入锁是心啊Lock它拥有synchronized相同的并发性和内存语义,在实现线程安全控制中,比较常用的时ReentrantLock,可以显式加锁,释放锁

你可能感兴趣的:(java,多线程)