线程疑问 呵呵,没问题啊,你的是FinTrans里的两个变量都是static的,而static的变量对于一个class而言是共有的,不管你new 多少个object它们都共用一个static变量,更何况你只new了一个,当然输出的是最后一次更新,至于时间的输出,你sleep的是一个random长的时间,所是先执行那一个线程是不一定的。 解决方案 » 免费领取超大流量手机卡,每月29元包185G流量+100分钟通话, 中国电信官方发货 这里是同一个线程,只不过如果if (getName ().equals ("Deposit Thread")) { ft.transName = "Deposit"; try { Thread.sleep ((int) (Math.random () * 1000)); } catch (InterruptedException e) { } ft.amount = 2000.0; System.out.println (ft.transName + " " + ft.amount); } 这段执行了Thread.sleep ((int) (Math.random () * 1000)); 后为什么不是整个线程hold住,而是else{}那段会在下一个线程片刻里面执行了 你起来的是两个线程,它们之间互相没有影响。也就是当一个进入休眠的时候,另一个线程是可以工作的,输出的结果是正确的,因为你的ft.amount值在ft.amount = 250.0; 后另一个线程将其改成ft.amount = 2000.0; 所以输出为Deposit 2000.0 。这也是由于你给两个线程公用了一个变量的结果! TT1与TT2的休眠时间是随机的,当一个休眠时另一个可能对FinTrans 的属性进行修改 JTabel多行选中的情况下,怎么获得JTable选中行的第一个值 求对于日期加减法所用到的类或代码提示 Java通过jdbc来建立一个数据库 如何读取xml中的中文 有没有现成的这样的类? java新手,请教。 高分请教:如何实现在浏览器里远程执行一个带界面的软件 下一步该怎样走??? Vector的add(Object o)和addElement(Object o)有何区别? 如何得到系统进程的列表? 下面的代码为什么在table中无法显示中文文件名? 各位好,我在优化数据库操作模块,请问大家是如何优化的?说说各自的经验好么?谢谢!
if (getName ().equals ("Deposit Thread"))
{
ft.transName = "Deposit";
try
{
Thread.sleep ((int) (Math.random () * 1000));
}
catch (InterruptedException e)
{
}
ft.amount = 2000.0;
System.out.println (ft.transName + " " + ft.amount);
} 这段执行了Thread.sleep ((int) (Math.random () * 1000)); 后为什么不是整个线程hold住,而是else{}那段会在下一个线程片刻里面执行了