截止JDK1.8版本,java并发框架支持的锁

来源:互联网 发布:r语言数据挖掘 薛薇 编辑:程序博客网 时间:2024/05/21 02:19
  1. 自旋锁,自旋,jvm默认是10次,由jvm自己控制,for去争取锁
  2. 阻塞锁 被阻塞的线程,不会争夺锁
  3. 可重入锁,多次进入改锁的域
  4. 读写锁
  5. 互斥锁,锁本身就是互斥的
  6. 悲观锁,不相信这里是安全的,必须全部上锁
  7. 乐观锁,相信这里是安全的
  8. 公平锁,有优先级的锁
  9. 非公平锁,无优先级的锁
  10. 偏向锁,无竞争不锁,有竞争挂起,转为轻量锁
  11. 对象锁,锁住对象
  12. 线程锁
  13. 锁粗化 ,多锁变成一个,自己处理
  14. 轻量级锁 ,CAS实现
  15. 锁消除 ,偏向锁就是锁消除的一种
  16. 锁膨胀 , jvm实现,锁粗化
  17. 信号量,使用阻塞锁实现的一种策略

不包含:排他锁,X锁,若事务T对数据对象A加上x锁,则只允许T读取和修改A,其他任何事务都不能再对A加任何类型的锁,直到T释放A上的锁。这就保证了其他事务在T释放A上的锁之前不能再读取和修改A

转载:http://blog.csdn.net/wenwen360360/article/details/62238140

阅读全文
0 0