1.继承Thread类
- 创建一个继承于Thread类的子类
- 重写Thread类中的run()
- 创建子类(继承于Thread)的对象
- 通过此对象调用start(),此时会执行两个操作:①启动当前线程②调用当前线程的run()
注意:不能通过直接调用run()的方式来启动线程,因为调用start()会自动调用run()。
当一个线程运行时不能再次调用start()启动该线程,会出现异常
具体代码:
package com.java;
// 1.继承Thread类
class SubClass extends Thread{
public SubClass(){
} // 空构造
public SubClass(String name){
// 调用父类构造:设置线程名称
super(name);
}
// 2.重写run()
@Override
public void run(){
System.out.println("Thread --> Hello,World!");
}
}
public class ThreadTest {
public static void main(String[] args) {
// 3.创建子类对象
SubClass sub = new SubClass("线程1"); // 传入字符串设置线程的名字
// 4.子类对象调用statr(),启动线程
sub.start();
}
}