一道简单的面试题,问输出的结果是什么?

2008-04-09 04:05:19来源:互联网 阅读 ()

新老客户大回馈,云服务器低至5折

public class Tux extends Thread
{
static String sName="hello";
public static void main(String[] args) {
Tux t=new Tux();
t.piggy(sName);
System.out.println(sName);
}
public void piggy(String sName)
{
sName=sName "wiggy";
start();
}
public void run()
{
for (int i = 0; i < 3; i ) {
sName=sName " " i;
}

}
}

输出结果是:hello,而不是预想的hello 0 1 2

这个程序结果运行是不稳定的(至少从理论上说是)
因为根本不知道线程什么时候执行完就打印,
所以写多线程程序时要避免出现这种情况


标签:

版权申明:本站文章部分自网络,如有侵权,请联系:west999com@outlook.com
特别注意:本站所有转载文章言论不代表本站观点,本站所提供的摄影照片,插画,设计作品,如需使用,请与原作者联系,版权归原作者所有

上一篇:罢工回家

下一篇:CMM与CMMI的比较