天天看点

synchronized 与 Lock的区别synchronized 与 Lock的区别

synchronized 与 Lock的区别

  • Lock是显式锁(手动开启和关闭锁)
  • synchronized是隐式锁,除了作用域自动释放
  • Lock只有代码块锁,synchronized有代码块锁和方法锁
  • 使用Lock锁,JVM将花费较少的时间来调度线程,性能更好,并且具有更多的扩展性(提供更多子类)
  • 优先使用顺序
    • Lock > 同步代码块 >同步方法

Lock锁的使用方

ReentrantLock lock=new ReentrantLock();
	lock.lock();	//加锁
	lock.lock.unlock();//解锁
           

解决线程通信的方法

synchronized 与 Lock的区别synchronized 与 Lock的区别

继续阅读