My FAQ,最新最全的IT技术FAQ
最新100篇 | 推荐100篇 | 专题100篇 | 排行榜 | 搜索 | 在线API文档
首 页 | 程序开发 | 操作系统 | 软件应用 | 图形图象 | 网络应用 | 精文荟萃 | 教育认证 | 未整理篇 | 技术讨论
  当前位置: > 程序开发 > 软件工程 > 综合文章
一道简单的面试题,问输出的结果是什么?
作者:未知 时间:2005-09-13 23:32 出处:Blog.ChinaUnix.net 责编:My FAQ
              摘要:一道简单的面试题,问输出的结果是什么?

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

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


 
首页 | 投资与合作 | 服务条款 | 隐私政策 | 收藏本站 | 设为首页 | 新用户注册 | 免责声明 | 使用帮助
Copyright ©2005-2008 myfaq.com.cn All rights reserved. www.myfaq.com.cn 版权所有