Java多线程两种实现方式的比较

实现多线程的两种方式,一种是继承Thread类,一种是实现Runnable接口,有两个例子如下:

方式一:

(转)有关java线程

方式二:

(转)有关java线程

疑问:

为什么实现Runnable时,创建线程对象不能写成 " MyThread mt=new MyThread();"?

明白了,就是说采用实现Runnable的方式时,例子2中定义的MyThread类并没有采用extends表明继承了Thread类,因此要调用Thread类中才有的start()方法,必须先创建Thread类的对象,才能调用start()方法,而Thread mt = new Thread(new MyThread())就是创建Thread类的对象的;

与方式2不同,在方式1中,MyThread类直接继承extends了Thread类,当然MyThread的对象就可以直接调用start()方法了!
转:http://zhidao.baidu.com/link?url=fidOD6vNsjphDgc8OfXzr6oNuvnmaYTKyVVLf2mT6FBhuj2Exqfbql5oWGBWlToFB5dkbsPWcZAJKMQcl3Hw-a

相关文章: