如何在java程序中实现多线程?使用Thread子类和实现 Runnable借口两种方法有什么异同?

如题所述

第一种:继承Thread类,通过编写线程继承thread类,重写run()方法来实现线程,这个类是在java.lang包中定义的,但是一个类只能继承一个父类,这个方法有这个局限。
第二种:直接实现Runnable多线程接口,Runnable只有一个抽象方法run ,并没有start()方法,也就是说要通过Thread类来启动Runnable实现的多线程。不过这个避免了继承的局限。一个类可以继承多个接口。
Thread类也是Runnable接口的子类。
温馨提示:答案为网友推荐,仅供参考
第1个回答  2012-05-25
Runnable的run()方法是用来跑我们代码的地方,我们在里面写的就是我们要在新线程里面做的那些事儿。
实际开启一个新线程的是Thread的start()方法。

所以不管怎么折腾,我们最终都是在run方法里面写下我们的代码,然后用Thread的start()去开启。
第2个回答  2012-05-23
继承Thread类或者实现Runnable接口....
没什么不同完全一样实际上Thread类就是实现的Runnable了接口
只不过因为java的单独继承的机制所以Runnable接口用的会多一些
相似回答