JMM对数据竞争的定义

JMM数据竞争的定义

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

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

相关推荐
chilavert3182 分钟前
技术演进中的开发沉思-328 JVM:垃圾回收(上)
java·开发语言·jvm
qq_397562312 分钟前
Qt_工程执行逻辑_窗口逻辑
开发语言·qt
hoiii1874 分钟前
基于MATLAB的Kriging代理模型实现与优化
开发语言·matlab
火云洞红孩儿4 分钟前
2026年,用PyMe可视化编程重塑Python学习
开发语言·python·学习
椰羊~王小美5 分钟前
前后端 格式化货币的方法
java·前端
heartbeat..8 分钟前
数据库性能优化:优化的时机(表结构+SQL语句+系统配置与硬件)
java·数据库·mysql·性能优化
带刺的坐椅12 分钟前
开发 Java MCP 就像写 Controller 一样简单,还支持 Java 8
java·llm·solon·mcp·skills
2501_9445215912 分钟前
Flutter for OpenHarmony 微动漫App实战:标签筛选功能实现
android·开发语言·前端·javascript·flutter
小唐同学爱学习13 分钟前
缓存与数据库一致性问题
java·数据库·spring boot·缓存