JMM对数据竞争的定义

JMM数据竞争的定义

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

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

相关推荐
孙张翼翔3 分钟前
锁.................
java·开发语言
程序员敲代码吗3 分钟前
持续集成/持续部署(CI/CD) for Python
jvm·数据库·python
移幻漂流5 分钟前
C/C++内存掌控之道:从内存泄漏到零开销抽象的进阶之路
java·c语言·c++
Java程序员威哥6 分钟前
Spring AI快速上手:Java集成ChatGPT/文心一言,30分钟实现智能问答接口
java·人工智能·spring boot·后端·python·spring·云原生
从此不归路7 分钟前
Qt5 进阶【1】信号与槽机制深度剖析——从语法到运行时调度
开发语言·qt
w***76558 分钟前
PHP vs Go:动态与静态语言的巅峰对决
开发语言·golang·php
HellowAmy8 分钟前
我的C++规范 - 请转移到文件
开发语言·c++·代码规范
tqs_1234512 分钟前
接口的路由和负载均衡
java·python
大闲在人12 分钟前
25. 连续盘点系统(Q-R 策略):总成本优化与基于缺货成本的再订货点设定
开发语言·数据分析·供应链管理·智能制造·工业工程
skywalk816313 分钟前
介绍一下QuantConnect Lean(python 15k star)
开发语言·python·量化