1.编写一个类,继承Thread类,重写run方法
直接创建线程对象,不需要像方法2先创建类对象再创建线程对象
public class ThreadTest01 {
public static void main(String[] args) {
//创建分支线程对象
MyThread t = new MyThread();
t.start();
}
}
class MyThread extends Thread {
@Override
public void run() {
System.out.println(“我是一只猪”);
}
}
2.编写一个类,实现Runnable接口,重写run方法
注意该方法先创建出一个类,然后在main方法中创建出一个类对象,然后创建一个线程Thread对象,在new这个线程对象时将创建出的类对象导入,然后Thread.start()就可以啦
方法2相较于方法1的优点是实现Runnable接口,可以再继承其他的类,而方法一继承了Thread类后就不能继承了
缺点是创建线程对象需要两步,而方法一只需要一步
public class ThreadTest02 {
public static void main(String[] args) {
//创建类的对象
MyThreadd tt = new MyThreadd();
//创建线程对象,也可以采用内部类的方式
Thread it = new Thread(tt);
it.start();
Thread