java中Volatile修饰符的含义

news/2024/7/3 3:33:29

        在java语言中:为了获得最佳速度,同意线程保存共享成员变量的私有拷贝。并且仅仅当线程进入或者离开同步代码块时才与共享成员变量的原始值进行对照。

        volatilekeyword的作用就是提示vm:对于这个成员变量不能保存它的私有拷贝。而应直接与共享变量进行交互。

        被volatile修饰符修饰的成员变量在每次被线程訪问时。都强迫从共享内存中重读该成员变量的值。

并且,当成员变量发生变化时。又强迫线程将变化了的值写回共享内存,这样在不论什么时刻。两个不同的线程总是看到某个成员变量的同一个值。这样当多个线程同一时候与某个对象交互时,就必要要注意到让线程及时的得到共享成员的变化。

      注意:在两个或者很多其它的线程訪问的成员变量上使用volatile。当要訪问的变量已在synchronized代码块中,或者为常量时。不必使用。


http://lihuaxi.xjx100.cn/news/279660.html

相关文章

边界框的回归策略搞不懂?算法太多分不清?看这篇就够了

作者 | fivetrees来源 | https://zhuanlan.zhihu.com/p/76477248本文已由作者授权,未经允许,不得二次转载【导读】目标检测包括目标分类和目标定位 2 个任务,目标定位一般是用一个矩形的边界框来框出物体所在的位置,关于边界框的回…

你的Redis怎么持久化的

引言(本文改编自生活真实案例,如有类同,绝不是巧合!)端午节,烟哥正在一边愉快的学习….突然,微信一阵抖动。原来是老刘呼唤烟哥!善良的烟哥本以为人家是要约我出去玩!然而,打开微信一…

机械自动化专业转 PLC 还是单片机,路会更好走一些?

大家好,我是无际。 我是电气工程专业转的单片机开发。 一、浅谈机械 说到机械自动化行业,我虽然没有做过,但是有时候做产品需要跟做机械的哥们打交道。 一回生二回熟,我们聊天基本也会相互调戏,说真羡慕你做这个啊…

窗口之间传递消息的一个方法

发送窗口的代码 using System; using System.Collections.Generic; using System.Linq; using System.Text; using System.Windows; using System.Windows.Controls; using System.Windows.Data; using System.Windows.Documents; using System.Windows.Input; using System.Wi…

XPath 节点概述

XPath 是一门在 XML 文档中查找信息的语言。XPath 术语 节点 在 XPath 中,有七种类型的节点:元素、属性、文本、命名空间、处理指令、注释以及文档(根)节点。XML 文档是被作为节点树来对待的。树的根被称为文档节点或者根节点。…

手把手教你学单片机,学完马上能自己编写开发程序

大家好,我是无际单片机编程的徐老师,今天给大家分享一下51单片机学习。 给大家分享一下怎么学习单片机,同时给大家推荐相应的学习课程。 学习单片机,我们要分几个步骤: 第一步:买一个学习开发板&#xf…

【SpringMVC】与权限拦截器冲突导致的Cors跨域设置失效问题

问题描述 前端域名FE.com向后端域名BE.com分别请求访问优惠券的列表和提交新增的优惠券,API设计所用的Method分别为Get和Post,结果为前一次访问成功而后一次访问失败。这两次请求都是跨域请求,其中请求1包含一个Get请求,请求2本应…

酷炫 | 比较6种类型和14种数据可视化工具

作者 | 神秘的铁头娃来源 | FineReport编译 | AI算法与图像处理(ID:AI_study)【导读】随着大数据时代的降临,企业和组织对数据的需求发生变化,因此五花八门的可视化工具开始层出不穷。那么面对这么多的可视化工具&…