通过继承Thread类创建并启动线程的步骤:
(1)定义Thread类的子类,并重写该类的run()方法,该run()方法的方法体就代表了线程需要完成的任务。因此把run()方法称为线程执行体。
(2)创建Thread子类的实例,即创建线程对象。
(3)调用线程对象的start()方法来启动该线程。
小例子如下:
class ThreadDemo01 extends Thread{
@Override
public void run() {
for (int i = 0; i < 10; i++) {
System.out.println("子线程...i:"+i);
}
}
}
public class Test01 {
public static void main(String[] args){
System.out.println("main...主线程开始");
ThreadDemo01 threadDemo01 = new ThreadDemo01();
threadDemo01.start();
for (int i = 0; i < 10; i++) {
System.out.println("main...i:"+i);
}
System.out.println("main...主线程结束");
}
}
优势:编写简单,如果需要访问当前线程,无须使用Thread.currentThread()方法,直接使用this即可获取当前线程。
劣势:继承Thread类,所以不能再继承其他父类。