a709613595 2014-01-08 13:04
浏览 269
已采纳

多线程局部变量

//仅用于测试,无任何业务
public class DateFormat2 {
public static SimpleDateFormat parse(){
SimpleDateFormat adf=new SimpleDateFormat ();
return adf
}
}
//多线程测试上述方法,局部变量应该在线程栈中,每个线程访问该方法后都new一个对象,应该是不同的引用地址,但结果却不是,测试方法如下
public class Test {
public static class TestSimpleDateFormatThreadSafe extends Thread {
@Override
public void run() {
while(true) {
try {
this.join(2000);
} catch (InterruptedException e1) {
e1.printStackTrace();
}
try {
System.out.println(this.getName()+":"+DateFormat2.parse());
} catch (ParseException e) {
e.printStackTrace();
}
}
}

}

public static void main(String[] args) throws ParseException {
    for (int i = 0; i <3; i++) {
        new TestSimpleDateFormatThreadSafe().start();
    }
}

}
请问这是为什么?,非常感谢

  • 写回答

2条回答 默认 最新

  • tianchao_ 2014-01-08 13:49
    关注

    这个问题的关键是不是在于,静态方法中定义的内部变量是否属于类或类实例共享级别? 如果是,那么这个是不就相当于public static SimpleDateFormat adf = new SimpleDateFormat();

    本回答被题主选为最佳回答 , 对您是否有帮助呢?
    评论
查看更多回答(1条)

报告相同问题?

悬赏问题

  • ¥15 微信会员卡接入微信支付商户号收款
  • ¥15 如何获取烟草零售终端数据
  • ¥15 数学建模招标中位数问题
  • ¥15 phython路径名过长报错 不知道什么问题
  • ¥15 深度学习中模型转换该怎么实现
  • ¥15 HLs设计手写数字识别程序编译通不过
  • ¥15 Stata外部命令安装问题求帮助!
  • ¥15 从键盘随机输入A-H中的一串字符串,用七段数码管方法进行绘制。提交代码及运行截图。
  • ¥15 TYPCE母转母,插入认方向
  • ¥15 如何用python向钉钉机器人发送可以放大的图片?