JMM对数据竞争的定义

JMM数据竞争的定义

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

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

相关推荐
名字还没想好☜11 小时前
Go 的 unsafe.Pointer 实战:零拷贝 []byte↔string 转换与三条铁律
开发语言·后端·golang·go·unsafe
于烛11 小时前
为什么hasNext() 对只有一个元素的集合返回 true?90%初学者都有的疑问
java
wuminyu11 小时前
JVM利用io_uring优化堆外内存性能原理剖析
java·linux·c语言·jvm·c++
imaol112 小时前
数据结构---队列
java·数据结构·算法
半亩码田12 小时前
【.NET新特性·第11篇】C# 14 字段属性:告别手写 backing field
java·c#·.net
天天进步201512 小时前
Python全栈项目--协同办公平台
开发语言·python
JAVA面经实录91713 小时前
集合框架 (六)
java·开发语言
骇客野人13 小时前
Linux 查看 Java 进程常用命令
java·linux·运维
xzlAwin13 小时前
Go语言多版本管理器g工具命令
开发语言·golang
少控科技13 小时前
农场设备管理代码(2)
开发语言·c#