多线程的实现方式 - morris131/morris-book GitHub Wiki
Java中实现多线程有两种方法:继承Thread类、实现Runnable接口。
package com.morris.ch1;
public class ThreadImpl1 implements Runnable{
@Override
public void run() {
System.out.println("this thread is implement Runnable interface");
}
public static void main(String[] args) {
Thread thread = new Thread(new ThreadImpl1()); // ThreadImpl1线程无法直接启动,需借助另外一个线程才能启动
thread.start();
}
}
运行结果如下:
this thread is implement Runnable interface
package com.morris.ch1;
public class ThreadImpl2 extends Thread {
@Override
public void run() {
System.out.println("This thread is extend Thread class.");
}
public static void main(String[] args) {
ThreadImpl2 thread = new ThreadImpl2();
thread.start();
}
}
运行结果如下:
This thread is extend Thread class.
### 两种实现方式的区别与联系
1. Thread类底层实现Runnable接口。
2. 实现Runnable接口的线程必须借助Thread类才能启动。
3. 实现Runnable接口可以避免由于Java的单继承特性而带来的局限,增强程序的健壮性,代码能够被多个线程共享,代码与数据是独立的;