JMM对数据竞争的定义

JMM数据竞争的定义

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

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

相关推荐
星恒随风几秒前
Python 基础语法详解(3):顺序语句、条件语句和循环语句一篇讲清楚
开发语言·笔记·python·学习
CHHH_HHH几秒前
【C++】红黑树:比AVL树更实用的平衡二叉搜索树
开发语言·数据结构·c++·算法·stl
lld9510271 分钟前
(三)本地策略框架
java·服务器·数据库
SoftLipaRZC3 分钟前
C语言文件:文件操作完全指南
android·java·c语言
牛油果子哥q3 分钟前
【C++内存对齐与结构体填充】C++内存对齐与结构体填充深度精讲:对齐规则、结构体内存大小计算、填充冗余、笔试真题与工程优化方案
开发语言·c++
零陵上将军_xdr4 分钟前
API 签名防重放机制:基于 HMAC-SHA256 的设计与实现
java·学习·安全架构
ch.ju5 分钟前
Java程序设计(第3版)第四章——set-get方法
java·开发语言
lpd_lt6 分钟前
如何让AI生成项目的单元测试,propmt技巧详解
java·人工智能·单元测试·ai编程
智能制造产品经理代码提升6 分钟前
快速搭建PayPal标准API测试框架
开发语言·lua
智能制造产品经理代码提升8 分钟前
Postman批量CaptureID全自动查询
开发语言·lua