创建线程有三种方法, 其中一种是实现Runnable接口, Runnable接口中只有一个run()方法, 它非Thread类子类提供的一种激活方式. 一个类实现Runnable接口后, 并不代表该类是一个"线程"类, 不能直接运行, 必须通过Thread实例才能创建并运行线程.
通过Runnable接口创建线程的步骤是:
1. 定义Runnable接口的实现类, 一样要重写run()方法, 这个run()方法和Thread中的run()方法一样是线程的执行体
2. 创建Runnable实现类的实例, 并用这个实例作为Thread的target来创建Thread对象, 这个Thread对象才是真正的线程对象
3. 第三步是通过调用线程对象的start()方法来启动线程
class MyThread implements Runnable {
//重写run()方法
@Override
public void run() {
//获取当前线程的名字
System.out.println("当前线程" + Thread.currentThread().getName());
for (int i = 0; i < 30; i++) {
System.out.println("A");
}
}
}
public class TestRunnable {
public static void main(String[] args) {
//创建一个任务对象
MyThread myThread = new MyThread();
//将实现的Runnable类的实例传入构造函数
Thread thread = new Thread(myThread);
thread.start();
//获取主线程的名字
System.out.println("主线程: [" + Thread.currentThread().getName()+"]");
for (int i = 0; i < 30; i++) {
System.out.println("C");
}
}
}
注意: 直接调用Thread类或Runnable类对象的 run() 方法是无法启动线程的, 这只是一个简单的方法调用, 必须通过Thread方法中的 start() 才可以