JMM对数据竞争的定义

JMM数据竞争的定义

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

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

相关推荐
IT方大同3 分钟前
RT_thread(RTOS实时操作系统)线程的创建与切换
c语言·开发语言·嵌入式硬件
吾日三省Java4 分钟前
SpringBoot锁设计:让你的系统不再“抢”出问题!
java·spring boot·设计思路
智算菩萨8 分钟前
【OpenGL】6 真实感光照渲染实战:Phong模型、材质系统与PBR基础
开发语言·python·游戏引擎·游戏程序·pygame·材质·opengl
jinanwuhuaguo8 分钟前
OpenClaw深度沟通渠道-全景深度解构
大数据·开发语言·人工智能·openclaw
XXOOXRT10 分钟前
Ubuntu搭建Java项目运行环境(JDK17+MySQL8.0)超详细教程
java·linux·mysql·ubuntu
是翔仔呐10 分钟前
第14章 CAN总线通信全解:底层原理、帧结构与双机CAN通信实战
c语言·开发语言·stm32·单片机·嵌入式硬件·学习·gitee
m0_7190841111 分钟前
启动命令111
java
2401_8785302116 分钟前
机器学习与人工智能
jvm·数据库·python
客卿12323 分钟前
用两个栈实现队列
android·java·开发语言
leaves falling23 分钟前
C++模板初阶:让代码“复制粘贴”自动化
开发语言·c++·自动化