求帮助,一个简单加法的问题

gongweixin 发布于 2013/09/12 11:27
阅读 101
收藏 0

class Signal {
	static private Signal signal = new Signal();
	private Signal(){}
	static public Signal newInstance(){
		return signal;
	}
	public void doLoogTimeTask(){
		long sum = 0;
		for (int i = 0; i < Integer.MAX_VALUE; i++) {
			sum += i;
		}
		System.out.println(sum);
	}
}
for (int i = 0; i < 10; i++) {
    Signal.newInstance().doLoogTimeTask();
}
为什么会输出不同的结果?

还有想问下,如果在多线程里使用单例可能会产生什么样的问题?




以下是问题补充:

@gongweixin:我机器上的结果 2305842980222664795 2305842973780213896 2305843005992468481 2305843005992468481 2305843005992468481 2305843005992468481 2305843005992468481 2305843005992468481 2305843005992468481 2305843005992468481 (2013/09/12 18:23)
加载中
0
l
littledoo
会输出不同的结果吗?
gongweixin
gongweixin
回复 @littledoo : 这就是完整的代码了、 你给for循环放在main里运行就行了。。
l
littledoo
回复 @此名被占用 : 完整代码可以发出来吗?
gongweixin
gongweixin
我也感觉应该不会、但是输出结果确实不一样啊、
0
_金角大王_
_金角大王_
多线程访问没问题
0
gongweixin
gongweixin
@ 疯狂的舌头  @littledoo  这难道就是传说中的人品问题????
返回顶部
顶部