//方法一:从Thread派生一个自定义类,然后覆写run()方法: public class Main { public static void main(String[] args) { Thread t = new MyThread(); t.start(); // 启动新线程 } } class MyThread extends Thread { @Override public void run() { System.out.println("start new thread!"); } }
//方法二:创建Thread实例时,传入一个Runnable实例: public class Main { public static void main(String[] args) { Thread t = new Thread(new MyRunnable()); t.start(); // 启动新线程 } } class MyRunnable implements Runnable { @Override public void run() { System.out.println("start new thread!"); } }
实现Runnable接口创建多线程程序的好处:
1.避免了单继承的局限性
一个类只能继承一个类,类继承了Thread类就不能进继承其他类,实现了Runnable接口,还可以继承其他类,实现其他接口。
2.增强了程序的扩展性,降低了程序的耦合性
把设置线程任务和开启新线程进行了分离,可以通过传入不同的Runnable接口实现类,实现不同的功能。