JMM对数据竞争的定义

JMM数据竞争的定义

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

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

相关推荐
汇匠源3 分钟前
基于Java的小程序电商商城开源设计源码
java·小程序·springboot·团队开发·源代码管理
嵌入式系统工程师4 分钟前
11.25c++继承、多态
开发语言·c++
哎呦没11 分钟前
Spring Boot与林业产品推荐系统的融合
java·spring boot·后端
gorgor在码农12 分钟前
redis 底层数据结构
java·数据库·redis
Erosion202020 分钟前
JAVA WEB和Tomcat各组件概念
java·tomcat
G丶AEOM23 分钟前
JVM中TLAB(线程本地分配缓存区)是什么
java·jvm
《源码好优多》27 分钟前
基于Java Springboot华为数码商城交易平台
java·开发语言·spring boot
康熙38bdc1 小时前
Linux 线程互斥
linux·运维·开发语言
Mr__vantasy1 小时前
数据结构(初阶7)---七大排序法(堆排序,快速排序,归并排序,希尔排序,冒泡排序,选择排序,插入排序)(详解)
c语言·开发语言·数据结构·算法·排序算法
♡喜欢做梦1 小时前
【Java】二叉树:数据海洋中灯塔式结构探秘(下:基本操作)
java·数据结构·算法