锁分类与synchronized核心机制
发布时间
阅读量:
阅读量
文章结构概述
- 一、JAVA中锁的相关概念
-
-
1、自旋锁
-
2、乐观锁
-
3、悲观锁
-
4、独占锁(写操作)
-
5、共享锁(读操作)
-
- ReadWriteLock
-
6、可重入锁与不可重入锁
-
7、公平锁与非公平锁
-
-
二、synchronized的实现机制
-
- 1、Java对象在堆内存中的存储结构
- 2、轻量级锁机制
- 3、重量级锁机制
- 4、偏向锁机制
- 5、锁状态的升级流程
- 6、重量级锁 - 监视器(monitor)
-
一、JAVA中锁的概念
1、自旋锁
当某一进程试图获取锁时,若该锁已被其他进程占用,则当前进程将进入循环等待状态,持续检测锁是否可被成功获取,直至成功获得锁后才终止循环。
自旋锁主要存在两种应用方式:
1、在AtomicIneger相关场景中,自旋机制用于对变量进行修改,直接通过CAS操作实现
2、如以下形式所示,利用自旋方式实现了一种锁定机制
public class Demo2_SpinLock {
private AtomicReference<Thread> owner = new AtomicReference<Thread>
全部评论 (0)
还没有任何评论哟~
