JMM对数据竞争的定义

JMM数据竞争的定义

Java内存模型规范对数据竞争的定义如下
在一个线程中一个变量,在另一个线程同一个变量,而且写和读没有通过同步来排序
如果一个多线程程序能正确同步,这个程序将是一个没有数据竞争的程序。
当程序正确同步时,就可能会存在数据竞争。当代码中包含数据竞争时,程序的执行往往产生违反直觉的结果(就是算错了,这里说的委婉了)。

-----------------------------------------------------------------------------摘自 书名:Java并发编程的艺术 作者:方腾飞;魏鹏;程晓明

相关推荐
爱喝可乐的中登3 分钟前
SpringBoot 云边协同|智慧地铁 ISCS 改造实战第 10 篇:全网权限与数据隔离重构|线路‑车站‑专业三级 RBAC、边缘数据权限下沉
java·spring boot·重构
H_老邪13 分钟前
JVM 遇到的问题-1.1
jvm
夜雨声烦丿13 分钟前
从需求到页面:日期计算器应用的 ArkTS 原生实现
开发语言·javascript·华为·harmonyos
落魄实习生15 分钟前
Spring AI Alibaba入门-生态集成
java·人工智能·spring
重生之我是Java开发战士23 分钟前
【Java EE】认识Linux与项目部署
java·linux·java-ee
LXMXHJ26 分钟前
springboot项目测试
java·spring boot·后端·测试
程序员雪球34 分钟前
本地IDEA打断点debug容器
java·开发语言
码匠许师傅43 分钟前
【设计模式精讲】2. 设计原则基石:SOLID 与几条关键原则
java·设计模式·log4j
yychen_java1 小时前
二:Multi-Agent 协作架构与 MCP 协议实战:Java 企业级 AI 智能体进阶指南
java·人工智能·架构
老白干1 小时前
基于枚举 + 注解的 Java 数据脱敏实践(fastjson 序列化场景)
java·开发语言