JMM对数据竞争的定义

JMM数据竞争的定义

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

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

相关推荐
溪水西流7 分钟前
NodifyEditor Zoom 机制分析
开发语言·c#·avalonia
没有bug.的程序员9 分钟前
Git 高级进阶:分支管理模型内核、Rebase 物理重塑与版本控制协作深度实战指南
java·git·分支管理·版本控制·rebase
xyq202410 分钟前
Go 语言范围(Range)
开发语言
Anastasiozzzz11 分钟前
深入理解JIT编译器:从基础到逃逸分析优化
java·开发语言·jvm
独自破碎E16 分钟前
BISHI56 分解质因数
java·开发语言
FL162386312920 分钟前
windows从源码安装python版本paddleocr3.4.0
开发语言·windows·python
感性的程序员小王29 分钟前
拒绝硬编码!利用 Java SPI 打造一个可插拔的代码解析器
java·后端
爱跑步的程序员~36 分钟前
SpringBoot集成SpringAI与Ollama本地大模型
java·后端·spring·ai·llama·springai
Grandpa_Rick42 分钟前
Join Module: Iteration #6 Nested Join
java
m0_531237171 小时前
C语言-static关键词,寄存器变量,define宏定义
c语言·开发语言