首页 > 代码库 > Java中Runnable和Thread的区别

Java中Runnable和Thread的区别

在java中可有两种方式实现多线程,一种是继承Thread类,一种是实现Runnable接口;

Thread:

实现方式:继承Thread类,重写里面的run方法,用start方法启动线程

(但是一个类只能继承一个父类,这是此方法的局限。)

 

 

Runnable:

实现方式:实现里面Runnable的run方法,用new Thread(Runnable target).start()方法来启动

(在使用Runnable定义的子类中没有start()方法,只有Thread类中才有。此时观察Thread类,有一个构造方法:public Thread(Runnable targer)此构造方法接受Runnable的子类实例,也就是说可以通过Thread类来启动Runnable实现的多线程。)

 

在程序开发中只要是多线程肯定永远以实现Runnable接口为主,因为实现Runnable接口相比继承Thread类有如下好处:

1.一个类只能继承一个父类,但是可以继承多个接口

2.实现Runnable,一个实例化对象可以创建多个线程,适合于资源的共享

Java中Runnable和Thread的区别