JMM对数据竞争的定义

JMM数据竞争的定义

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

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

相关推荐
土司大王2 分钟前
LeetCode hot100——51.N 皇后:Java 回溯模板、列与对角线剪枝、O(n!) 复杂度分析
java·leetcode·剪枝
无忧.芙桃12 分钟前
C++内存管理
c语言·开发语言·c++·青少年编程
Patrick在香港14 分钟前
Python 分析香港 AQHI 归档 1644 天:同一天的空气,早上 8 点报 3,下午 5 点报 10
开发语言·python·数据分析·api·restful·数据可视化·开放数据
重生之小比特15 分钟前
【Java SE】IDEA 调试 Debug 案例完整分析
java·ide·intellij-idea
晴天1616 分钟前
JavaScript 与 Java 垃圾回收机制对比
java·开发语言·javascript
金金计较.18 分钟前
Go语言-2
开发语言·算法·golang
3Q工具箱 - BraggTroy26 分钟前
Python + PyInstaller 实战:从零打造 10 个 Windows 桌面小工具(附全部踩坑记录与核心代码)
开发语言·windows·python
xiaohua100926 分钟前
JVM内存优化-jemalloc
java·jvm
吃饱了得干活30 分钟前
Redisson 进阶实战:看门狗机制与分布式锁完全指南
java·redis·后端
淘源码d38 分钟前
基于Java开发的上门家政系统源码,采用SpringBoot+MySQL+UniApp+Vue3技术栈,构建三端一体化平台
java·源码·上门家政·家政系统·同城家政·源码部署