黑马程序员技术交流社区

标题: 三个线程跑的问题 [打印本页]

作者: daoyua    时间: 2014-1-21 00:17
标题: 三个线程跑的问题
本帖最后由 daoyua 于 2014-2-18 23:07 编辑

public class Test {
        public static void main(String [] args)throws Exception
        {
                new Thread(){
                        public void run(){
                                for(int i=0;i<60;i++){
                                        System.out.println(Thread.currentThread().getName()+i);
                                }
                        }
                }.start();
               
                for(int i=0;i<60;i++){
                        System.out.println(Thread.currentThread().getName()+i);
                }
                Runnable r= new Runnable() {
                        
                        @Override
                        public void run() {
                                for(int i=0;i<60;i++){
                                        System.out.println(Thread.currentThread().getName()+i);
                                }
                        }
                };
                new Thread(r).start();
        }
}
//这个结果一个线程和主函数都是跑了0-59,但是最后一个线程数据就不对,不是0-59,为什么呢
作者: Clare0621    时间: 2014-1-21 00:24
应该是0-59,不知道你出现了啥结果
作者: 黄晓鑫    时间: 2014-1-21 00:51
表示没有出错
作者: 黄晓鑫    时间: 2014-1-21 00:59
public class Test {
        public static void main(String [] args)throws Exception
        {
                new Thread(){
                        public void run(){
                                for(int i=0;i<60;i++){
                                        System.out.println(Thread.currentThread().getName()+"..."+i);
                                }
                        }
                }.start();
               
                for(int i=0;i<60;i++){
                        System.out.println(Thread.currentThread().getName()+"..."+i);
                }
                new Thread(new Runnable() {
                        
                        @Override
                        public void run() {
                                for(int i=0;i<60;i++){
                                        System.out.println(Thread.currentThread().getName()+"..."+i);
                                }
                        }
                }).start();
        }
}
作者: 宋星    时间: 2014-1-21 01:05
这个代码没问题,只是线程名和后面的数混在一起了,板凳已经做好了,用了个匿名内部类,其实也一样

作者: 俞帅明    时间: 2014-1-22 17:15
都一样,你把不正常的截图上来
作者: woaiheima    时间: 2014-1-23 18:29
你用的电脑不是单核的
作者: daoyua    时间: 2014-2-18 23:05

作者: daoyua    时间: 2014-2-18 23:06
应该是电脑多核问题,其中一条线是100开头




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