社区
Java SE
帖子详情
请教volatile关键字的用法!!!
s7110110
2001-11-06 05:15:17
由于本人英语水平有限,我在《Java Language Specification Second Edition》看了几遍还是不能完全理解“volatitle”的具体用法,是不是限制线程互斥访问其修饰的变量?但那本书讲的好象没那么简单。请高手指教!!
...全文
135
2
打赏
收藏
请教volatile关键字的用法!!!
由于本人英语水平有限,我在《Java Language Specification Second Edition》看了几遍还是不能完全理解“volatitle”的具体用法,是不是限制线程互斥访问其修饰的变量?但那本书讲的好象没那么简单。请高手指教!!
复制链接
扫一扫
分享
转发到动态
举报
写回复
配置赞助广告
用AI写文章
2 条
回复
切换为时间正序
请发表友善的回复…
发表回复
打赏红包
hahaha88
2001-11-07
打赏
举报
回复
volatitle大概是为了“数据同步”,即保证内存中的数据(在不同的thread中的)可视性,
Doug Lea在<cocurrent Programming in Java>> 2版中解释的较好,小衲我。。。
(咬咬牙)。。。咳咳咳咳咳。。。大概是这样的。。。
首先,Java有一个内存模型,这个模型是从Java程序员的眼里看到的,对CPU(单个或多个)/寄
存器/内cache/外cache/主内存/。。。/OS管理内存机制。。。等各方面的一个抽象,但这方面
的spec好象不是很多
根据这个模型,大概是有一个“主内存”,数据在“主内存”中有一个“主copy”,
每一个thread有一个“工作内存”,其中有该数据的“工作copy",在这里,这些
“主内存”/“工作内存”都是从Java看出去的抽象概念,不一定对应于一个硬件
或OS的实体
一个volatitle变量,在加上正确运用synchronized,应该是可以保证当这个变量在
某个thread中被改变了之后,这个变化对其他thread是”可视的“,即这个变量的”
主内存copy"和各个“工作copy”是同步刷新的
所以把一个变量定义为volatitle,在加上正确运用synchronized,理论上可以保证
这个变量在各个thread中都是一致的,这里变了,那里也就跟着变了。但实际上比较
复杂(特别是在不同的硬件/OS平台上,如4个intelCPU的nt40机器),最好还要加上
其他措施,和volatitle一起用,这样才能达到“数据同步”的目的
s7110110
2001-11-06
打赏
举报
回复
可不可以找个人回答我阿??
零基础Java入门课程-类和对象
高级类特性 类的继承、父子类的初始化顺序、单继承性 方法的覆盖、重载、super
关键字
、 多态、instanceof
关键字
、强制类型转换、 static
关键字
、final
关键字
数组和枚举 一维数组的应用及内存分配 多维数组的应用及...
Android
Volatile
关键字
学习
相信很多 Andorid程序员跟我一样,最开始接触到
volatile
这个
关键字
是在创建单例的时候,如: public class SingleTon { //为了防止出现 DCL失效问题,加上
volatile
关键字
private static
volatile
.
Java并发编程:
volatile
关键字
解析
Java并发编程:
volatile
关键字
解析
volatile
这个
关键字
可能很多朋友都听说过,或许也都用过。在Java 5之前,它是一个备受争议的
关键字
,因为在程序中使用它往往会导致出人意料的结果。在Java 5之后,
volatile
...
volatile
关键字
理解
volatile
关键字
是一种类型修饰符,用它声明的类型变量表示可以被某些编译器未知的因素更改,比如:操作系统、硬件或者其它线程等。遇到这个
关键字
声明的变量,编译器对访问该变量的代码就不再进行优化,从而可以提供...
java中
volatile
关键字
的含义
在java线程并发处理中,有一个
关键字
volatile
的使用目前存在很大的混淆,以为使用这个
关键字
,在进行多线程并发处理的时候就可以万事大吉。 Java语言是支持多线程的,为了解决线程并发的问题,在语言内部引入了 ...
Java SE
62,614
社区成员
307,327
社区内容
发帖
与我相关
我的任务
Java SE
Java 2 Standard Edition
复制链接
扫一扫
分享
社区描述
Java 2 Standard Edition
社区管理员
加入社区
获取链接或二维码
近7日
近30日
至今
加载中
查看更多榜单
社区公告
暂无公告
试试用AI创作助手写篇文章吧
+ 用AI写文章