本帖最后由 myzanyu 于 2012-09-22 02:03:56 编辑

解决方案 »

  1.   

    你尝试在System.out.println("main()正在运行!");后面写一行Thread.sleep(1000);看看结果
      

  2.   

    你把main方法的线程睡眠一会就看出效果了
      

  3.   

    循环10次太少了,CPU一个时间片执行它还绰绰有余,还没来得及切换线程呢
      

  4.   

    public class ThreadTest {
    public static void main(String args[]) throws InterruptedException {
    TestAnThread tat = new TestAnThread();
    Thread tr = new Thread(tat);
    tr.start();
    for(int i=0;i<10;i++) {
    System.out.println("main()正在运行!");
    Thread.sleep(1000);
    }
    }
    }class TestAnThread implements Runnable {
    public void run() {
    for(int i=0;i<10;i++)
    System.out.println("这是一个多线程任务!");
    }
    }main()正在运行!
    这是一个多线程任务!
    这是一个多线程任务!
    这是一个多线程任务!
    这是一个多线程任务!
    这是一个多线程任务!
    这是一个多线程任务!
    这是一个多线程任务!
    这是一个多线程任务!
    这是一个多线程任务!
    这是一个多线程任务!
    main()正在运行!
    main()正在运行!
    main()正在运行!
    main()正在运行!
    main()正在运行!
    main()正在运行!
    main()正在运行!
    main()正在运行!
    main()正在运行!谢谢大家的回答,我改成这样了,输出结果就变上面那样了;
    我是直接COPY书上的例程的,可是书上的是两个打印语句轮流出打印的.
      

  5.   

    楼主的程序,我多测试几次,会有不同的结果。(不加休眠)。
    我建议楼主多试几次。、main()正在运行!
    main()正在运行!
    main()正在运行!
    main()正在运行!
    main()正在运行!
    main()正在运行!
    main()正在运行!
    main()正在运行!
    这是一个多线程任务!
    这是一个多线程任务!
    这是一个多线程任务!
    main()正在运行!
    main()正在运行!
    这是一个多线程任务!
    这是一个多线程任务!
    这是一个多线程任务!
    这是一个多线程任务!
    这是一个多线程任务!
    这是一个多线程任务!
    这是一个多线程任务!
      

  6.   

    一般做程序的时候,我们要看到具体点的运行效果,要让线程sleep一段时间,这样有利于我们分析,
    同个代码的线程会有多种不同的答案!
      

  7.   

    现在CPU很强大,速度太快了,、你要多试几次,或者延迟长一点 或者多循环几次