【多线程】求该代码下Holder类为何没有正确发布 多线程 解决方案 » 免费领取超大流量手机卡,每月29元包185G流量+100分钟通话, 中国电信官方发货 共享的话,带上static应该可以实现:class HolderThread extends Thread { private static int n; public HolderThread(int n) { this.n = n;} public void assertSanity(int n) { System.out.println(Thread.currentThread().getName() + " n: " + n); if(this.n != n) throw new AssertionError("This statement is false"); } public void run() { this.assertSanity(n); }}public class Holder { public static void main(String[] args) { double foo = Math.PI; for(int i = 0 ; i < 100; i++) { new HolderThread(i).start(); for (int j=0; j<10000; j++) { foo += 1.0/foo; } } }}另外,方法还加了一个入参,这个入参也是n本身,这样产生一个传递的过程,就可能出现那种现象了。(也许不加也会有,只是现在机器性能太好了,可能体现不出来) 一个 hql 的小问题 Jtable中如何获取某个单元格的内容 java applet log4j的xml配置详解!! javax.servlet 包在什么地方 在WinMe怎样配置Tomcat5.0.12 Java学了一年了,有个问题,还是隐隐作痛——无法脱离书本或文档按着一定的思路自由编写软件 为什么有此方法的异常要捕捉,有的却不需要呢?能和详细说说吗?在这里谢谢了! 我对notify()和wait()的理解,欢迎讨论 大家看tij,用了多长时间!!! TreeSet为什么元素总是重复呢?是在没法了 java的序列化支持rmi吗
private static int n;
public HolderThread(int n) { this.n = n;}
public void assertSanity(int n) {
System.out.println(Thread.currentThread().getName() + " n: " + n);
if(this.n != n)
throw new AssertionError("This statement is false");
}
public void run() {
this.assertSanity(n);
}
}public class Holder {
public static void main(String[] args) {
double foo = Math.PI;
for(int i = 0 ; i < 100; i++) {
new HolderThread(i).start();
for (int j=0; j<10000; j++) {
foo += 1.0/foo;
}
}
}
}另外,方法还加了一个入参,这个入参也是n本身,这样产生一个传递的过程,就可能出现那种现象了。
(也许不加也会有,只是现在机器性能太好了,可能体现不出来)