Java锁的种类以及辨析

下载

作者:山鸡

锁作为并发共享数据,保证一致性的工具,在JAVA平台有多种实现(如 synchronized 和 ReentrantLock等等 ) 。这些已经写好提供的锁为我们开发提供了便利,但是锁的具体性质以及类型却很少被提及。本系列文章将分析JAVA中常见的锁以及其特性,为大家答疑解惑。

1、自旋锁

2、自旋锁的其他种类

3、阻塞锁

4、可重入锁

5、读写锁

6、互斥锁

7、悲观锁

8、乐观锁

9、公平锁

10、非公平锁

11、偏向锁

12、对象锁

13、线程锁

14、锁粗化

15、轻量级锁

16、锁消除

17、锁膨胀

18、信号量

原创文章,转载请注明: 转载自并发编程网 – ifeve.com本文链接地址: Java锁的种类以及辨析

  • Trackback 关闭
  • 评论 (7)
  1. 很期待作者这个系列的文章,加油!

    • ifeve_niaocai
    • 2014/09/10 11:09上午

    一个菜鸟的理解。也许就是一些废话吧

    1、自旋锁 ,自旋,jvm默认是10次吧,有jvm自己控制。for去争取锁

    2、阻塞锁 被阻塞的线程,不会争夺锁。

    3、可重入锁 多次进入改锁的域

    4、读写锁

    5、互斥锁 锁本身就是互斥的

    6、悲观锁 不相信,这里会是安全的,必须全部上锁

    7、乐观锁 相信,这里是安全的。

    8、公平锁 有优先级的锁

    9、非公平锁 无优先级的锁

    10、偏向锁 无竞争不锁,有竞争挂起,转为轻量锁

    11、对象锁 锁住对象

    12、线程锁

    13、锁粗化 多锁变成一个,自己处理

    14、轻量级锁 CAS 实现

    15、锁消除 偏向锁就是锁消除的一种

    16、锁膨胀 jvm实现,锁粗化

    17、信号量 使用阻塞锁 实现的一种策略

    • 寒雨
    • 2014/09/15 11:56上午

    关注这个系列

    • 偶尔呼噜
    • 2014/10/09 11:16下午

    期待大作

    • ooxiaohan
    • 2016/08/05 2:34下午

    期待尽快完成本系列

    • huduku.io
    • 2017/02/13 9:45下午

    期待更新中

    • 逆风飞行
    • 2017/05/09 8:57下午

    期待更新

return top