前往小程序,Get更优阅读体验!
立即前往
首页
学习
活动
专区
工具
TVP
发布
社区首页 >专栏 >【说站】Java内存模型的并发处理

【说站】Java内存模型的并发处理

作者头像
很酷的站长
发布2022-11-23 12:58:36
2360
发布2022-11-23 12:58:36
举报
文章被收录于专栏:站长的编程笔记

Java内存模型的并发处理

1、工作内存数据一致性

使用主内存时,每个线程操作数据都会保存共享变量的副本。如果多个线程操作任务涉及同一共享变量,则将导致它们各自具有不一致的共享变量副本。在出现这种情况时,数据同步的主存将由谁来复制数据呢?

具体介绍了Java内存模型,主要是通过一系列数据同步协议和规则来保证数据的一致性。

2、指令重排序的优化

在Java中,重新排序通常是编译器或运行环境重新排序指令以优化程序性能的方法。它被分成两类:编译期重新排序和运行期重新排序,它们分别对应于编译期和运行期环境。

同样,指令重排序不是随机的,它需要满足两个条件:

(1)不能在单线程环境中更改程序运行的结果。

立即编译器(和处理器)需要确保程序符合as-if-serial特性。一般而言,在单线程情况下,给程序一个连续执行的幻象。即重新排序的执行结果必须与连续执行的结果一致。

(2)数据依赖性不允许重新排序。

以上就是Java内存模型的并发处理,希望对大家有所帮助。

本文参与 腾讯云自媒体同步曝光计划,分享自作者个人站点/博客。
如有侵权请联系 cloudcommunity@tencent.com 删除

本文分享自 作者个人站点/博客 前往查看

如有侵权,请联系 cloudcommunity@tencent.com 删除。

本文参与 腾讯云自媒体同步曝光计划  ,欢迎热爱写作的你一起参与!

评论
登录后参与评论
0 条评论
热度
最新
推荐阅读
目录
  • Java内存模型的并发处理
领券
问题归档专栏文章快讯文章归档关键词归档开发者手册归档开发者手册 Section 归档