JMM对数据竞争的定义

JMM 对数据竞争的定义

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

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

相关推荐
程序员老陆28 分钟前
C++ 未定义行为全景:对象模型、优化边界与工程防御
开发语言·c++·程序设计
嵌入式er42 分钟前
影石系统组 一二面OC面经
java·开发语言
徐小黑ACG42 分钟前
Golang 基础06 接口interface
开发语言·后端·golang
春涧草茶43 分钟前
慢就是快12-12手动抛出异常
java·linux·前端
半杯咖啡半行码44 分钟前
Qt 开发基础:版本演进、常用工具与多平台安装
开发语言·qt
下页、再停留1 小时前
【C#桌面客户端系列学习-8】批量导出数据为csv格式
开发语言·c#·visual studio
菜鸟~noob2331 小时前
【电子战】 第26篇:大气衰减——氧气与水汽吸收【含matlab代码】
开发语言·matlab
菜鸟~noob2331 小时前
【电子战】第25篇:自由空间、双射线与菲涅尔区【含matlab代码】
开发语言·算法·matlab
企业数字化笔记1 小时前
AI工具参数很多怎么办?预设、表单校验、危险参数与配置审计
java·spring boot·python·音视频