方式一:继承Thread类
继承Thread类,并重写run方法,创建线程时直接创建该类的对象即可
public class ThreadTest{
public static void main(String[] args){
MyThread mt = new MyThread();//创建线程
mt.setName("继承Thread类创建");//设置线程名称
mt.start();//启动线程
}
}
//通过继承Thread类的方式自定义线程
class MyThread extends Thread{
@Override
public void run(){
//此线程要执行的具体操作
System.out.println(this.getName()+"线程启动...");
}
}
执行结果
继承的方式创建线程简单直接,不需要其他多余的操作,直接创建对象,但是因为Java是单继承,所以该种方式的线程类无法再继承其他类,扩展性稍差。
方式二:实现Runnable接口
实现Runnable接口,并重写run方法,将该实现类的对象作为参数传递给Thread构造器,使用Thread类创建线程
public class ThreadTest{
public static void main(String[] args){
//创建线程,Runnable实现类作为参数传递给Thread构造器
Thread t = new Thread(new MyThread());
t.setName("实现Runnable接口创建");//设置线程名称
t.start(