Java并发-synchronized关键字
概念是利用锁的机制来实现同步的。锁机制有如下两种特性互斥性即在同一时间只允许一个线程持有某个对象锁通过这种特性来实现多线程中的协调机制这样在同一时间只有一个线程对需同步的代码块(复合操作)进行访问。互斥性我们也往往称为操作的原子性。可见性必须确保在锁被释放之前对共享变量所做的修改对于随后获得该锁的另一个线程是可见的即在获得锁时应获得最新共享变量的值否则另一个线程可能是在本地缓存的某个副本上继续操作从而引起不一致。用法根据修饰对象分类1.1同步方法Public synchronized void methodName(){ …… }1.2同步代码块synchronized(this|object) {} synchronized(类.class) {}根据获取的锁分类获取对象锁synchronized(this|object) {}修饰非静态方法在 Java 中每个对象都会有一个 monitor 对象这个对象其实就是 Java 对象的锁通常会被称为“内置锁”或“对象锁”。类的对象可以有多个所以每个对象有其独立的对象锁互不干扰。获取类锁synchronized(类.class) {}修饰静态方法在 Java 中针对每个类也有一个锁可以称为“类锁”类锁实际上是通过对象锁实现的即类的 Class 对象锁。每个类只有一个 Class 对象所以每个类只有一个类锁。在 Java 中每个对象都会有一个 monitor 对象监视器。某一线程占有这个对象的时候先monitor 的计数器是不是0如果是0还没有线程占有这个时候线程占有这个对象并且对这个对象的monitor1如果不为0表示这个线程已经被其他线程占有这个线程等待。当线程释放占有权的时候monitor-1同一线程可以对同一对象进行多次加锁11重入性synchronized原理分析1.锁方法方法的加锁ACC_SYNCHRONIZED2.锁代码块代码块的加锁monitorenter和monitorExit配合使用Java虚拟机对synchronized的优化JDK1.6以前重量锁偏向锁偏向锁在对象第一次被某一线程占有的时候是否偏向锁置1锁表01写入线程号当其他的线程访问的时候竞争失败 轻量级锁很多次被第一次占有它的线程获取次数多成功CAS算法 campany and setCAS无锁状态时间非常接近竞争不激烈的时候适用轻量级锁线程有交替适用互斥性不是很强CAS失败00重量级锁等待时间长

相关新闻

矩阵代数

矩阵代数

矩阵的加减法矩阵的数乘矩阵的乘法 定义:设A(aij)m*s,B(bij)s*n,那么规定矩阵A与矩阵B的成绩是一个m*n矩阵C(cij),其中 cijai1b1jai2b2j…ainbnj∑k1saikbkj\sum_{k1}^{s}a_{ik}b_{kj}∑k1s​aik​bkj​(i1,2,…,m;j1,2,…,n)并把…

2026/7/28 16:40:34 阅读更多 →
基于掌控板与超声波传感器的智能避障小车项目实践

基于掌控板与超声波传感器的智能避障小车项目实践

1. 项目概述:当一只瓢虫被困在“数字牢笼”里最近在Labplus3和掌控板的社区里,看到一个挺有意思的项目,叫“一只瓢虫的困惑——画地为牢”。光看标题,你可能会觉得这像是个哲学寓言或者艺术装置。但对我们这些搞硬件编程和互动设计…

2026/7/28 16:40:34 阅读更多 →
AI如何提升Excel透视表分析效率:实战经验分享

AI如何提升Excel透视表分析效率:实战经验分享

1. 透视表分析的现状与痛点作为一名从业10年的数据分析师,我每天要处理大量Excel透视表。传统操作模式下,我们需要手动拖拽字段、设置计算项、调整布局,一个复杂报表往往要反复调整半小时以上。更痛苦的是当业务需求变更时,整个流…

2026/7/28 16:39:34 阅读更多 →

最新新闻

AI Agent Skill 工程化 10:Skill 治理——Owner、清单、发布与季度复盘

AI Agent Skill 工程化 10:Skill 治理——Owner、清单、发布与季度复盘

Skill 一多,新问题就不是「怎么改」,而是「谁有权改、改坏了找谁」,尤其团队的Skill管理尤其重要 。这篇文章讲治理。工具很少,规矩很多——而且这些规矩,你们仓库里其实已经有一半雏形了。前言一句话:让 S…

2026/7/28 16:49:38 阅读更多 →
小安派工:智慧工地车辆道闸弱电工程,工地进出车辆管理布线要点

小安派工:智慧工地车辆道闸弱电工程,工地进出车辆管理布线要点

一、工地车辆道闸弱电施工环境难点工地出入口属于车流密集区域,渣土车、工程货车通行频次高,路面长期承受重压,伴随扬尘、雨水冲刷、车辆震动冲击。道闸配套弱电线路埋设于路面或者沿路边敷设,一旦缺少有效防护,容易出…

2026/7/28 16:49:38 阅读更多 →
【AI新手避坑指南】:20年AI专家亲授5大致命误区,90%初学者第3条就已踩雷

【AI新手避坑指南】:20年AI专家亲授5大致命误区,90%初学者第3条就已踩雷

更多请点击: https://kaifayun.com 第一章:AI新手认知误区的底层根源 许多初学者将AI等同于“自动完成一切的黑箱”,这种误解并非源于懒惰或无知,而是由技术传播链中的三重失真共同塑造:媒体简化、教学断层与工具封装…

2026/7/28 16:49:38 阅读更多 →
1. 准备工作

1. 准备工作

1.准备工作前期准备工作当前系统环境学习书箱和资源前期准备工作 当前系统环境 当前系统环境Windows10专业版1903。官网下载并安装Python,当前最新版本Python为3.7.4(20190730)。官网下载并安装Sublime。官网下载并安装Pycharm。搜索Mysql …

2026/7/28 16:49:38 阅读更多 →
基础Demo_4 if判断语句使用(学习笔记)

基础Demo_4 if判断语句使用(学习笔记)

if判断第一种语句格式 if判断语句用于判断代码如果a除以2不能为0 此代码块中代码不执行 public class Demo01_IF{public static void main(String[] args){int a 11; // 判断 if(a % 2 0 ){ //如果a除以2不能为0 此代码块中代码不执行System.out.println( a " 为偶数&…

2026/7/28 16:49:38 阅读更多 →
BFS算法解析:从水桶问题看广度优先搜索

BFS算法解析:从水桶问题看广度优先搜索

1. 从两个水桶问题说起 记得第一次遇到两个水桶问题时,我正在准备一场编程面试。题目是这样的:你有两个容量分别为3升和5升的空水桶,如何准确量出4升水?看似简单的问题却让我卡壳了半小时。直到后来系统学习了广度优先搜索&#x…

2026/7/28 16:48:38 阅读更多 →

日新闻

告别臃肿!3步让你的暗影精灵笔记本重获新生

告别臃肿!3步让你的暗影精灵笔记本重获新生

告别臃肿!3步让你的暗影精灵笔记本重获新生 【免费下载链接】OmenSuperHub Control Omen laptop performance, fan speeds, and keyboard lighting, and unlock power limits. 项目地址: https://gitcode.com/gh_mirrors/om/OmenSuperHub 你是否也曾为官方Om…

2026/7/28 0:00:43 阅读更多 →
RAG必踩坑!财报法规检索不准?这款开源工具让答案浮出水面,准确率飙升98.7%!

RAG必踩坑!财报法规检索不准?这款开源工具让答案浮出水面,准确率飙升98.7%!

做 RAG 的人应该都踩过这个致命的坑:把几百页的财报、法规、技术手册扔给向量库,问一个具体问题,搜出来的全是沾边但没用的内容 —— 关键信息要么被硬切块拆碎了,要么藏在几十条结果的最下面。语义相似≠真正相关,这个…

2026/7/28 0:00:43 阅读更多 →
抖音视频文案提取工具全指南:免费2026版、手机App、在线工具一网打尽

抖音视频文案提取工具全指南:免费2026版、手机App、在线工具一网打尽

2026年做短视频运营,从抖音上扒文案早就不是偷偷抄笔记的事了。我刚开始做内容的时候,每天刷半小时抖音,手动把爆款视频的口播敲进备忘录,一条2分钟的视频得花十来分钟,碰到语速快的还要反复回听。后来试了一圈工具&am…

2026/7/28 0:00:43 阅读更多 →

周新闻

深度学习道路桥梁裂缝检测系统 道路桥梁裂缝检测数据集 道路桥梁病害识别检测数据集

深度学习道路桥梁裂缝检测系统 道路桥梁裂缝检测数据集 道路桥梁病害识别检测数据集

深度学习道路桥梁裂缝检测系统 数据集6000张 完整源码已标注数据集训练好的模型环境配置教程程序运行说明文档,可以直接使用!系统支持图片、视频、摄像头等多种方式检测裂缝,功能强大实用。 1数据集6000张 8各类别

2026/7/28 12:04:22 阅读更多 →
深度学习YOLO模型如何训练 PUBG 绝地求生目标检测数据集

深度学习YOLO模型如何训练 PUBG 绝地求生目标检测数据集

pubg数据集 精选原图1.42万数据 1.49万标签 无任何重复、算法增强或冗余图像! pubg绝地求生目标检测数据集 1分类:e_body,14905个标签,txt格式 共计14244张图,99%为640*640尺寸图像 适合yolo目标检测、AI训练关键词&am…

2026/7/28 8:29:16 阅读更多 →
Apex英雄目标检测数据集 深度学习框架YOLO如何训练APEX数据集

Apex英雄目标检测数据集 深度学习框架YOLO如何训练APEX数据集

Apex检测数据集数据集详情检测类别: allies enemy tag图片总量:7247张训练集:5139张验证集:1425张测试集:683张标注状态:全部已标注,即拿即用数据格式:支持YOLO格式及其他格式&#…

2026/7/28 5:03:42 阅读更多 →

月新闻