Java开发网 Java开发网
注册 | 登录 | 帮助 | 搜索 | 排行榜 | 发帖统计  

您没有登录

» Java开发网 » Java SE 综合讨论区  

按打印兼容模式打印这个话题 打印话题    把这个话题寄给朋友 寄给朋友    该主题的所有更新都将Email到你的邮箱 订阅主题
flat modethreaded modego to previous topicgo to next topicgo to back
作者 Re:请教高手("原子类型"指的是什么?) [Re:alan105]
ftang



版主


发贴: 214
积分: 38
于 2006-06-23 01:58 user profilesend a private message to usersearch all posts byselect and copy to clipboard. 
ie only, sorry for netscape users:-)add this post to my favorite list
Atomicity:
不好意思没有找到定义,只能给出我的理解了,就是对一个原子类型的操作是不会被另外一个线程所打断.

在JAVA里面所谓”内置“数据类型有几类是原子类型的,但是long 和 double 不是,因为他们的长度是64位,而JVM内存处理在32位,所以long和 double 不是原子类型,切记,切记
--> 原子类型应该就是指java内置的数据类 <-- 是不对的

给出一段代码

public class BreakDouble extends Thread
{

final static double VAL1 = 0;
final static String VAL1S = Double.toString(VAL1);
final static double VAL2 = Double.MAX_VALUE;
final static String VAL2S = Double.toString(VAL2);

static double test = VAL1;

public static void main( String[] args )
{

System.out.println("VAL1 = " + VAL1S );
System.out.println("VAL2 = " + VAL2S );
System.out.println("\nErrors:");

for (int i=0; i<10;i++) {
BreakDouble t = new BreakDouble();
t.start();
}
}

public void run()
{
for( ;; )
{
double tmp=test;
test = VAL1;
String tmpTest=Double.toString(tmp);
if( (!tmpTest.equals(VAL1S)) && (!tmpTest.equals(VAL2S)) )
{
System.out.println("test = " + tmpTest );
}
test = VAL2;
}
}
}

pi178c1n5 /ms/user/shen/temp 196$ java BreakDouble
VAL1 = 0.0
VAL2 = 1.7976931348623157E308

Errors:
test = 2.1219957905E-314
test = 1.7976922776554302E308
test = 2.1219957905E-314
test = 1.7976922776554302E308




话题树型展开
人气 标题 作者 字数 发贴时间
5327 请教高手("原子类型"指的是什么?) alan105 66 2006-06-22 10:17
4555 Re:请教高手("原子类型"指的是什么?) bluecrystal 20 2006-06-23 00:14
4874 Re:请教高手("原子类型"指的是什么?) ftang 1333 2006-06-23 01:58
4453 Re:请教高手("原子类型"指的是什么?) zcjl 30 2006-06-23 09:13
4555 Re:请教高手("原子类型"指的是什么?) alan105 7 2006-06-23 10:52
4678 Re:请教高手("原子类型"指的是什么?) ftang 58 2006-06-23 21:38
4884 Re:请教高手("原子类型"指的是什么?) jerryikitty 321 2006-06-27 11:57

flat modethreaded modego to previous topicgo to next topicgo to back
  已读帖子
  新的帖子
  被删除的帖子
Jump to the top of page

   Powered by Jute Powerful Forum® Version Jute 1.5.6 Ent
Copyright © 2002-2021 Cjsdn Team. All Righits Reserved. 闽ICP备05005120号-1
客服电话 18559299278    客服信箱 714923@qq.com    客服QQ 714923