`
andy136566
  • 浏览: 292220 次
  • 性别: Icon_minigender_1
  • 来自: 杭州
社区版块
存档分类
最新评论

violate

 
阅读更多

Java中volatile关键字原义是“不稳定、变化”的意思,那么在java语言中,volatile是什么意思呢?

volatile,在Java中用来修饰变量,那是为什么呢?volatile是告诉vm,这个变量不能被私自占有使用,下面就解释一下为什么这么说吧!

大家都知道,在java中,除了long和double的操作,对基本类型的操作是原子性的,那还为什么使用valotile关键字呢,因为随着jvm的优化和成熟,为了提高多线程的效率,允许每个线程在工作内存保存变量的拷贝进行操作,这就很容易出现数据不一致,所以volatile就强制是多核或多线程必须从主存中读写变量,保证变量的一致性。

由于比起synchronized,volatile关键字的覆盖范伟更小,只是修饰的变量,所以效率就比前者高,但是,它是存在问题的,不能保证“线程写的合理”,解释如下:

写的不合理,是可能存在竞争条件,而出现操作与设想结果不同。

假如,有100个线程正在对一个i变量惊醒i++操作,那么结果一定是100么,可能<100的,比如一个线程a读到的是i=3,几乎同时(a没有修改i),另一个线程也读到3,那么结果,两次相加就得到了i=4,而不是5,详细看看操作系统同步就知道了。

怎么处理呢?

1.使用synchronized关键字,但是这样就失去了volatile的意义。

2.使用CPU原语实现非阻塞算法。

http://blog.csdn.net/weizhaozhe/archive/2009/02/21/3919161.aspx

 

http://space.itpub.net/111631/viewspace-610344

分享到:
评论

相关推荐

    violate java-Java 之 volatile 超级详解

    Java中的`volatile`关键字是多线程编程中一个非常重要的概念,它用于修饰变量,确保在并发环境下,多个线程可以正确地共享和同步数据。本文将深入探讨`volatile`关键字的工作原理、特性以及如何使用它来解决多线程中...

    Vagaa哇嘎画时代--体验群体智慧的力量!

    2.10 Intentionally or unintentionally violate any applicable local, state, national or international law, including securities exchange and any regulations requirements, procedures or policies in ...

    OPC UA技术规范.zip

    shall inter-operate seamlessly together.Any unauthorized use of this specification may violate copyright laws, trademark laws, and communications regulations and statutes. This document contains ...

    上市公司违约概率风险EDF计算Stata代码(附2000-2022年数据)

    违约概率风险EDF 计算说明 首先,本文采用Bharath and Shumway(2008)提出的Naive模型估计违约概率(EDF)作为违约风险 的替代变量,我们采取...我们设置虚拟变量Violate表示企业事后违约概率。 当该差额大于零时

    Ace - Responsive Admin Template v1.3.5

    Ace - Responsive Admin Template 的最新版本,一个不错的后台管理模板,其实和1.3.4版本界面上基本上一样,个人还没发现不同的地方,感觉这个模板做的不错,好多人都在研究学习。

    Automating.Junos.Administration.Doing.More.with.Less.1491928883.epub

    Customize Junos software to detect and block commits that violate your network standards Develop custom CLI commands to present information the way you want Program Junos software to automatically ...

    volatile关键字使用

    `volatile`关键字是C++和Java等编程语言中用于处理多线程环境或者与硬件交互时的一个关键特性。它主要用于修饰变量,表明该变量的值可能会在编译器不知情的情况下发生变化,例如由其他线程修改、外部硬件事件影响...

    c++课程设计车辆管理系统

    - 构造函数 `violate()`:默认构造函数,用于创建对象实例。 #### `cars` 类 - **定义**:该类用于存储车辆的基本信息。 - **属性**: - `kind`:存储车辆类型。 - `color`:存储车辆颜色。 - `no`:存储车牌...

    商务英语翻译试题四试卷及答案.doc

    to break or violate the law,意为私自执法。 - "seminar" 是 B. study of a university,指的是大学研讨课。 - "grace" 与 B. a period of time allowed before sth. happens相符,指宽限期。 - "veto" 的正确...

    交换机端口的流量控制

    例如,Ruijie(config)# policy-map policy-map-name class class-map-name police cir [bps] [burst-normal] [burst-max] conform-action [action] exceed-action [action] violate-action [action]。 在交换机端口...

    ansys错误提示汇总

    NO.0009:Shape testing revealed that 32 of the 640 new or modified elements violate shape warning limits 该错误可能是由于单元形状奇异。解决方法是检查模型中的单元形状是否符合要求。 NO.0010:用命令流...

    英文写作必背句型.doc

    6. **Those who ~~** 通过这个结构,我们可以描述一类人及其行为,如"Those who violate traffic regulations should be punished."。这在论述特定群体的行为或特征时非常有用。 7. **There is no one but ~~** 这...

    Cisco_交换机限速配置

    Switch(config-pmap-c)# police cir 2000000 bc 2000000 be 4000000 conform-action transmit exceed-action drop violate-action drop Switch(config-pmap-c)# exit ``` 5. **应用Policy Maps到接口**: - 将...

    浙江省慈溪市六校 高二英语下学期期中联考试题(含解析) 试题.doc

    例如,“face a traffic charge”涉及到法律词汇,而“violate the traffic rules”则涉及动词短语和名词搭配。 - 对话中的句子结构和表达方式也测试了学生的语言综合运用能力,如"I think you’ve got everything ...

    ansys常见错误.doc

    在 ANSYS 中,出现了 Shape Testing revealed that 450 of the 1500 new or modified elements violate shape warning limits 的错误。这是由于单元网格质量不够好,导致了形状警告的出现。解决方法是,使用规则化...

    【创新设计】(课标通用)2015高考英语大二轮复习高考倒计时 第11天

    Those who violate traffic regulations should be punished. 4. 句型4:There is no one but... 表示“没有人不……”,强调所有人的共同行为。比如:没有人不渴望上大学。There is no one but longs to go to ...

    外研社高中英语必修四单元各知识点PPT学习教案.pptx

    6. **高级词汇与短语**:文章使用了如"put up with"(忍受),"violate rights"(侵犯权利),"relevant department"(相关部门)等高级词汇,以及"for the sake of"(为了...的利益)这样的短语,提升了语言的表达...

    小微企业利用互联网众筹融资的研究.doc

    On the other hand, fraudulent projects initiated on crowdfunding platforms with high return rates to attract investments could potentially violate the crime of illegally absorbing public deposits. ...

    2022年新高考英语复习M7Unit4Publictransportation(练)解析.pdf

    - **violate**:动词,意为“违反”,在这里是指违反法律或规则。 - **traffic**:名词,指“交通”,通常与交通拥堵或交通状况相关。 - **crash**:动词,可表示计算机“崩溃”或“死机”,也可用于形容交通事故...

Global site tag (gtag.js) - Google Analytics