首页 > 其他分享 >synchronized底层原理

synchronized底层原理

时间:2023-05-28 21:37:22浏览次数:36  
标签:monitor synchronized 阻塞状态 关联 线程 原理 底层

synchronized对象锁采用互斥的方式使得在同一时刻只有一个线程能够持有锁并操作共享资源,如果其它线程想要获取锁就会进入阻塞状态,从而保证了线程安全问题。

synchronized底层原理:synchronized的实现基于JVM的锁监视器(monitor),每个JVM都有维护自己的一套锁监视器,当集群部署时synchronized会失效,此时可以使用分布式锁。在使用synchronized时需要指定一个对象,所以它也被称为对象锁,monitor主要就是和这个对象产生关联,如图:

 

 在monitor内部有三个属性:

owner:关联获取锁的线程,只能关联一个。

EntryList:关联没有获取锁的线程,处于阻塞状态的线程。

waitSet:关联调用wait()方法的线程,处于waiting状态的线程。

标签:monitor,synchronized,阻塞状态,关联,线程,原理,底层
From: https://www.cnblogs.com/yhb-blogs/p/17438881.html

相关文章

  • 计算机组成原理 L02 指令集体系结构(ISA)复习-1
    计算机组成原理L02指令集体系结构(ISA)复习-1复习-1用作例题/课后题整理复习-2用作理论知识点整理如何使用大常数由于大数值范围:[-2^31,2^31-1],而I型指令常数字段只有16bits,所以需要使用两次I型指令。取立即数到寄存器高16位指令lui->loadupperimmediate与立即数进......
  • Synchronized和Lock的区别
    synchronized与Lock的主要区别如下:一、synchronized是Java的内置关键字,而Lock是接口,其常用实现类为ReentrantLock(可重入锁)和ReentrantReadWriteLock(读写锁);二、synchronized是隐式的加锁,这个流程自动化,而Lock是显式的加锁,需要手动的lock()和unlock();三、synchronized常作用于......
  • 雷达原理与系统 第五讲 雷达发射机主要质量指标
    雷达原理与系统第五讲雷达发射机主要质量指标1.雷达发射机的工作频率2.信号波形3.输出功率4.信号形式5.脉冲波形6.信号稳定度7.频谱纯度注解:雷达发射机的质量指标=主要技术参数,质量指标决定了发射机的类型。 1.雷达发射机的工作频率A.选择雷达工作频率,需要......
  • synchronized一个有趣现象
    在学习synchronized时发现了一个有趣的现象:publicclassMyThreadimplementsRunnable{privateintnumber=10;privatebooleanflag=true;@Overridepublicvoidrun(){while(flag){//同步块,()填变化的量必须是引用类型,锁定的......
  • CGI的工作原理
    CGI是Web服务器和外部程序之间的一个接口。利用CGI程序可以处理从Web上客户端发送出来的表单和数据,并对此做出相关操作。这种反应可以是HTML文件、图片、声音、视频等可以在浏览器窗体上出现的任何数据。通用网关接口有两个含义。首先它为客户端用户通过www获取Internet上的其他服......
  • java面试 (12)- Valiolate原理?是线程安全的吗?
    1:导致线程问题的原因:抢占式执行多个线程同时修改了同一个变量非原子性操作内存可见性问题指令重排问题2:并发编程三大特性可见性原子性有序性3:volatile关键字3.1volatile解决了内存可见性和指令重排序的问题写volatile变......
  • 串口通信原理
    笔记来源串行通信基础知识处理机与外部设备通信的两种方式:并行通信和串行通信并行通信是指数据的各个位用多条数据线同时进行传输。优点:传输速度快缺点:占用引脚资源多串行通信是指数据的分成一位一位的形式在一条传输线上逐个传输。优点:通信线路简单、占用引脚资源少缺......
  • ASEMI代理长电可控硅BT134的工作原理,BT134的应用领域
    编辑-Z本文将对可控硅BT134的工作原理及应用领域进行详细阐述。首先,我们将介绍可控硅BT134的基本概念和工作原理;其次,我们将探讨可控硅BT134在电力电子领域的应用;接着,我们将分析可控硅BT134在家用电器中的应用;最后,我们将讨论可控硅BT134在工业自动化领域的应用。 1、可控硅BT134的......
  • 【深入浅出Spring原理及实战】「缓存Cache开发系列」带你深入分析Spring所提供的缓存C
    缓存的理解缓存的工作机制是先从缓存中读取数据,如果没有再从慢速设备上读取实际数据,并将数据存入缓存中。通常情况下,我们会将那些经常读取且不经常修改的数据或昂贵(CPU/IO)的且对于相同请求有相同计算结果的数据存储到缓存中。它能够让数据更加接近于使用者,下图所示。+-------------......
  • ASEMI代理长电可控硅BT134的工作原理,BT134的应用领域
    编辑-Z本文将对可控硅BT134的工作原理及应用领域进行详细阐述。首先,我们将介绍可控硅BT134的基本概念和工作原理;其次,我们将探讨可控硅BT134在电力电子领域的应用;接着,我们将分析可控硅BT134在家用电器中的应用;最后,我们将讨论可控硅BT134在工业自动化领域的应用。 1、可控硅BT13......