黑马程序员技术交流社区

标题: 问一个线程的run和start的问题? [打印本页]

作者: ziyu0971    时间: 2015-2-12 15:18
标题: 问一个线程的run和start的问题?
class MyThread extends Thread{
        public void run(){
                try {
                        Thread.currentThread().sleep(3000);
                } catch (InterruptedException e) {
                }
                System.out.println("MyThread running");
        }
}



public class ThreadTest{
        public static void main(String argv[]) {
                MyThread t = new MyThread();
                t.run();
                t.start();
                System.out.println("Thread Test");
          }

}
上面这个例子的结果是什么那?面试题里的。时间长忘记了。



作者: lwj123    时间: 2015-2-17 20:03
运行结果:
MyThread running
Thread Test
MyThread running
run()的运行只是一个普通的方法
start()的运行开启线程,并通知JVM去调用run方法
作者: 张思语    时间: 2015-2-19 00:39
lwj123 发表于 2015-2-17 20:03
运行结果:
MyThread running
Thread Test

我只能默默地点个赞!
作者: ㏒假™面具    时间: 2015-2-24 17:49
MyThread running
Thread Test
MyThread running
实例对象调用了run()方法时,和调用普通方法一样,这时由主线程执行。输出MyThread running
线程开启以后,jvm调用run()方法,创建的新线程会睡眠3000毫秒,主线程继续执行,输出ThreadTest。然后主线程结束。睡眠时间结束后创建的线程执行,输出MyThread running
作者: 心镜逝水    时间: 2015-2-25 09:43
,,,,,,
作者: ziyu0971    时间: 2015-2-26 12:22
lwj123 发表于 2015-2-17 20:03
运行结果:
MyThread running
Thread Test

谢谢哦,学习了
作者: 菠菜树    时间: 2015-2-27 15:03
㏒假™面具 发表于 2015-2-24 17:49
MyThread running
Thread Test
MyThread running

感谢回答,学习了
作者: luke_yang    时间: 2015-2-28 14:01
MyThread running
Thread Test
MyThread running
作者: 邓士林    时间: 2015-2-28 14:54
study,ing...




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