JMM对数据竞争的定义

JMM 对数据竞争的定义

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

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

相关推荐
Wang's Blog6 小时前
Java 项目实战: 交友项目 - FastDFS:入门案例
java·开发语言·交友
apcipot_rain7 小时前
C++转Java日记(03)
java·开发语言·c++
皮皮林5517 小时前
Java实现微信扫码登录
java
布莱克6057 小时前
C++ 中 map 的 insert 与 emplace:key 已存在时会覆盖吗?
开发语言·数据结构·c++·算法·map
xys_6787 小时前
深挖C++:类和对象(中)
开发语言·c++
灿飞屋8 小时前
Rust 编程其实很简单
开发语言·rust
Yyyyyy~9 小时前
【Java】Day4Web基础知识
java·spring boot
MOONICK9 小时前
QT元数据
开发语言·qt
D e re k ZH10 小时前
C++ 系统学习手记:从语法细节到工程实践
开发语言·数据结构·c++·算法
灿飞屋11 小时前
Kotlin与Java虚拟机三:控制流
android·java·开发语言·后端·python·kotlin·安卓