当前位置:七道奇文章资讯编程技术Java编程
日期:2011-03-22 16:12:00  来源:本站整理

<b>Java线程:volatile关键字</b>[Java编程]

赞助商链接



  本文“<b>Java线程:volatile关键字</b>[Java编程]”是由七道奇为您精心收集,来源于网络转载,文章版权归文章作者所有,本站不对其观点以及内容做任何评价,请读者自行判断,以下是其具体内容:

谈及到volatile关键字,不得不提的一篇文章是:《Java 理论与实践: 精确利用 Volatile 变量》,这篇文章对volatile关键字的用法做了相当精辟的阐述.

之所以要单独提出volatile这个不常用的关键字缘由是这个关键字在高性能的多线程程序中也有很重要的用处,只是这个关键字用不好会出很多问题.

首先考虑一个问题,为什么变量需求volatile来修饰呢?

要搞清楚这个问题,首先应当懂得计算机内部都做什么了.比方做了一个i++操作,计算机内部做了三次处理:读取-改正-写入.

一样,关于一个long型数据,做了个赋值操作,在32系统下需求经过两步才能完成,先改正低32位,然后改正高32位.

假想一下,当将以上的操作放到一个多线程环境下操作时刻,有大概呈现的问题,是这些步骤履行了一部份,而别的一个线程就已经引用了变量值,这样就招致了读取脏数据的问题.

通过这个假想,就不难理解volatile关键字了.

volatile可以用在任何变量前面,但不能用于final变量前面,因为final型的变量是禁止改正的.也不存在线程安全的问题.

更多的内容,请参看::《Java 理论与实践: 精确利用 Volatile 变量》一文,写得很好.

出处:http://lavasoft.blog.51cto.com/62575/222076


  以上是“<b>Java线程:volatile关键字</b>[Java编程]”的内容,如果你对以上该文章内容感兴趣,你可以看看七道奇为您推荐以下文章:
  • <b>hosts是什么 hosts文件在什么位置 若何改正hosts</b>
  • <b>在 Windows 8 中手动安装语言包</b>
  • <b>五个常见 PHP数据库问题</b>
  • Windows中Alt键的12个高效快速的利用本领介绍
  • <b>MySQL ORDER BY 的实现解析</b>
  • <b>详解MySQL存储历程参数有三种范例(in、out、inout)</b>
  • <b>Win8系统恢复出来经典的开始菜单的办法</b>
  • <b>Win8系统花屏怎么办 Win8系统花屏的办理办法</b>
  • <b>Windows 7系统下无线网卡安装</b>
  • <b>为什么 Linux不需求碎片整理</b>
  • <b>Windows 8中删除账户的几种办法(图)</b>
  • <b>教你如安在win7下配置路由器</b>
  • 本文地址: 与您的QQ/BBS好友分享!
    • 好的评价 如果您觉得此文章好,就请您
        0%(0)
    • 差的评价 如果您觉得此文章差,就请您
        0%(0)

    文章评论评论内容只代表网友观点,与本站立场无关!

       评论摘要(共 0 条,得分 0 分,平均 0 分) 查看完整评论
    Copyright © 2020-2022 www.xiamiku.com. All Rights Reserved .