JMM对数据竞争的定义

JMM 对数据竞争的定义

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

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

相关推荐
Shaoshing1 小时前
前缀和与差分
java·数据结构·算法·前缀和·差分
dd聊技术2 小时前
Prompt 从代码常量搬进数据库:改一句话,不用再发一次版
java·后端
ly76892 小时前
Spring Data MongoDB 批量写入实践:BulkOperations 批大小与写关注权衡
java·mongodb·spring·批量写入·bulkoperations·写关注·mongotemplate
TAKETODAY2 小时前
Netty 是怎么把 HTTP 请求交给 MVC 的?一个请求的完整链路
java·netty
蚰蜒螟2 小时前
从内核启动到 Java NIO:一次 socket accept 的源码串联之旅
java·python·nio
学逆向的2 小时前
C 突破编译器限制
c语言·开发语言·网络安全
会编程的吕洞宾2 小时前
Spring AI 2.0 自校正结构化输出实战:让大模型稳定吐出合格 JSON
java·人工智能·后端·spring
bmxy小明同学2 小时前
2026-10-09-token与成本
java·前端·数据库
jimy13 小时前
C++ 虚函数表:基类和派生类共用一张 vtable 吗?
开发语言·c++
爱吃提升3 小时前
Dev-C++ 5.11 C++断点调试完整教程
开发语言·c++