A股上市公司传智教育(股票代码 003032)旗下技术交流社区北京昌平校区

 找回密码
 加入黑马

QQ登录

只需一步,快速开始

© 夏一站 中级黑马   /  2013-7-12 21:59  /  1076 人查看  /  3 人回复  /   0 人收藏 转载请遵从CC协议 禁止商业使用本文

本帖最后由 夏一站 于 2013-7-13 15:16 编辑
  1. public class ThreadDemo2 {
  2.         public static void main(String args[])
  3.         {
  4.            TestThread t=new TestThread();
  5.            new Thread(t).start();
  6.                 //循环输出
  7.                 for(int i=0;i<10;i++)
  8.                 {
  9.                         System.out.println("main 线程在运行");
  10.                 }
  11.         }
  12. }
  13. class TestThread  implements Runnable
  14. {
  15.         public void run()
  16.         {
  17.                 for(int i=0;i<10;i++)
  18.                 {
  19.                         System.out.println("TestThread 在运行");
  20.                 }
  21. }
  22. }
复制代码
我这样写,运行的时候,输出的结果是这样的
main 线程在运行
main 线程在运行
main 线程在运行
main 线程在运行
main 线程在运行
main 线程在运行
main 线程在运行
main 线程在运行
main 线程在运行
main 线程在运行
TestThread 在运行
TestThread 在运行
TestThread 在运行
TestThread 在运行
TestThread 在运行
TestThread 在运行
TestThread 在运行
TestThread 在运行
TestThread 在运行
TestThread 在运行
但是,老师说的并不是这样的,不知道问题在哪里。

评分

参与人数 1技术分 +1 收起 理由
杨兴庭 + 1

查看全部评分

3 个回复

倒序浏览
没什么问题,你多运行几次或者把循环次数加大点就可以看出不同了。出现这样主要是你的循环次数大少,很快就运行完,看不出多线程的效果
回复 使用道具 举报
程序没错,是因为你的电脑太快了所以看不出来结果,把循环全部改成1000,然后分别在两个输出语句前加上Thread.sleep(10);就行了(记得抛异常)。
你看我的运行结果:

评分

参与人数 1技术分 +1 收起 理由
杨兴庭 + 1 赞一个!

查看全部评分

回复 使用道具 举报
你可以让其中一个线程等上10毫秒:sleep(10);
回复 使用道具 举报
您需要登录后才可以回帖 登录 | 加入黑马