锁类型

  • 可重入锁:在执行对象中所有同步方法不用再次获得锁

  • 可中断锁:在等待获取锁过程中可中断

  • 公平锁: 按等待获取锁的线程的等待时间进行获取,等待时间长的具有优先获取锁权利

  • 读写锁:对资源读取和写入的时候拆分为2部分处理,读的时候可以多线程一起读,写的时候必须同步地写

 

synchronized

  JVM内置支持。

  仅支持可重入锁类型。

  异常时,锁自动释放。

 

lock

  支持四种锁类型。

  需要手动释放锁。

  原理:

 

锁优化:

  1、自旋锁:CAS

  2、偏向锁:消除数据在无竞争情况下的同步原语。如果确定没有别的线程来争抢,那么就去掉同步语句。

 

相关文章:

  • 2022-12-23
  • 2022-12-23
  • 2022-12-23
  • 2022-01-26
  • 2022-12-23
  • 2022-12-23
  • 2021-12-25
  • 2021-04-06
猜你喜欢
  • 2022-01-08
  • 2021-07-12
  • 2021-11-01
  • 2022-12-23
  • 2021-08-27
  • 2022-02-03
  • 2022-02-22
相关资源
相似解决方案