java锁-分类

Posted wfbk

tags:

篇首语:本文由小常识网(cha138.com)小编为大家整理,主要介绍了java锁-分类相关的知识,希望对你有一定的参考价值。

一、锁分类

线程要不要锁住同步资源?
锁住--悲观锁
不锁住--乐观锁

锁住同步资源如果失败,线程要不要阻塞?
阻塞
不阻塞--自旋锁,适应性自旋锁

多个线程竞争同步资源的流程细节上的区别?
不锁住资源,多个线程中只有一个能够修改资源成功,其它线程会去重试--无锁
同一个线程执行同步资源时自动获取资源--偏向锁
多个线程竞争同步资源的时候,没有获取资源的线程通过自旋等待锁释放--轻量级锁
多个线程竞争同步资源的时候,没有获取资源的线程阻塞等待唤醒--重量级锁

多个线程竞争需不需要排队?
排队--公平锁
先尝试插队,插队失败再去排队--非公平锁

一个线程中的多个线程能不能获取同一把锁?
能--可重入锁
不能--非可重入锁

多个线程能不能共享同一把锁?
能--共享锁
不能--排他锁

以上是关于java锁-分类的主要内容,如果未能解决你的问题,请参考以下文章

JAVA锁相关知识总结

java单体锁分类

Java锁的分类概念和状态

java 锁的分类

Java中的各种锁

Java中的锁