JMM对数据竞争的定义

JMM 对数据竞争的定义

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

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

相关推荐
SL_staff几秒前
销售知识库7天落地实践:面向业务侧的零代码嵌入方案
java·开源·产品
kimnoic3 分钟前
PHP 8.2的DNF类型怎么用才规范
开发语言·php
GreatSQL社区10 分钟前
主从复制SQL线程中断——字符集砸出的坑
java·数据库·算法
_Evan_Yao21 分钟前
前后端联调怎么排查问题?从 Network 到后端日志,一步步定位错误
开发语言·后端·团队开发·需求分析
Wang's Blog23 分钟前
Java 项目实战: 交友项目 - 入门案例:服务提供者搭建总结
java·交友
hudd66825 分钟前
JavaEE 初阶 - 多线程(进阶)
java·开发语言·java-ee
小白快快跑哦42 分钟前
python-字符串全解(六):正则表达式-前后相断言
开发语言·python·正则表达式·前后相断言
kimnoic1 小时前
Python数据分析中正则表达式匹配字符串与常用函数示例详解
开发语言·python
Pniubi1 小时前
区分Java创建线程池、多线程
java·线程·线程池·多线程·并发
程序员梅雨1 小时前
ZooKeeper面经总结
java·大数据·linux·分布式·后端·zookeeper·中间件