JMM对数据竞争的定义

JMM 对数据竞争的定义

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

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

相关推荐
starzy199011 小时前
Scala循环与判断:一切皆表达式的控制流
开发语言·人工智能·scala
wangbing112511 小时前
平台介绍-modbus设备调试
java
starzy199011 小时前
Scala类和对象:从构造器到样例类的完整指南
开发语言·后端·scala
niucloud-admin11 小时前
NIUCLOUD PHP SAAS上门家政使用文档--服务订单:订单列表
开发语言·php
西索斯coding11 小时前
gpt-image-2.5-sunburst 和 gemini-3.1-flash-image 差多少?60 组项目素材的成功成本评测框架
java·linux·gpt·ai
怪我冷i11 小时前
Rust 的impl语法详解
开发语言·后端·rust
wuminyu12 小时前
Java字节码学习总结:字节码如何加载、解析和执行
java·linux·c语言·jvm·c++
qq_4069810312 小时前
c++的decltype是什么
开发语言·c++
坤坤子吖12 小时前
算法学习——单调队列
开发语言·c++·笔记·学习·算法
Flynn Liang12 小时前
大模型怎么自己调函数?Spring AI 2.0 Tool Calling 自动循环原理 + 完整时序图
java·人工智能·spring·agent·函数调用·springai·toolcalling