黑马程序员技术交流社区

标题: 多线程的一个小细节,问题跟进。哪位大牛帮忙解答一下。 [打印本页]

作者: 绿影    时间: 2011-11-12 01:41
标题: 多线程的一个小细节,问题跟进。哪位大牛帮忙解答一下。
本帖最后由 绿影 于 2011-11-12 15:50 编辑

不知道大家注意到没有,多线程程序在编译时,程序中有几个线程就会生成几个.class文件,而且文件名都是带编号的。我发现这个说法并不完全正确。今天碰到一个程序执行时有多个线程但是并不是每个线程都会产生一个.class文件。代码如下:
  1. import java.util.*;
  2. public class TraditionalTimer {
  3. @SuppressWarnings("deprecation")
  4. public static void main(String[] args) throws Exception {
  5.          new Timer().schedule(
  6.            new TimerTask(){
  7.                         public void run() {
  8.                         System.out.println(new Date().getSeconds());
  9.                         System.out.println("bombing0"+"|"+Thread.currentThread().getName());//添加打印当前线程名称
  10.                         //定时器中安装定时器
  11.                         new Timer().schedule(
  12.                                         new TimerTask(){
  13.                                                 public void run(){
  14.                                                         System.out.println(new Date().getSeconds());
  15.                                                         System.out.println("bombing1"+"|"+Thread.currentThread().getName());
  16.                                                 }
  17.                                           }
  18.                                    ,3000
  19. //                               ,4000
  20.                                );
  21.                         }}
  22.           ,1000//延迟多久后执行
  23.           ,2000//以多久的频率反复循环执行,这个参数可以没有,那就仅执行一次
  24.            );
  25. }
  26. }
复制代码
运行效果和产生的.class文件如下:
我很困惑这是为什么呢?
作者: 绿影    时间: 2011-11-12 01:42
本帖最后由 绿影 于 2011-11-12 01:45 编辑

图片没发上,重新发一下。http://bbs.itheima.com/forum.php?mod=attachment&aid=MTk0fGY0NDdlYzU0NzBhODYwZDY2ZGI3ZjdlMzIwMjljZDYyfDE3MjY3NzMwMDc%3D&request=yes&_f=.png

2.png (222.63 KB, 下载次数: 21)

真相

真相

作者: zhou_411424    时间: 2011-11-12 12:35
哦,还真没注意到




欢迎光临 黑马程序员技术交流社区 (http://bbs.itheima.com/) 黑马程序员IT技术论坛 X3.2