# 第一节 继承Thread类
# 1、创建一个类继承Thread
class PrintNumber extends Thread {
public PrintNumber(String name) {
super(name);
}
@Override
public void run() {
for (int i = 0; i < 10; i++) {
System.out.println("i = " + i + " " + Thread.currentThread().getName());
}
}
}
# 2、创建线程对象启动线程
public static void main(String[] args) {
new PrintNumber("thread01").start();
new PrintNumber("thread02").start();
new PrintNumber("thread03").start();
}
# 3、小结
继承Thread类实现多线程方式的问题:
- 一个类继承了 Thread 就不能再继承其它类。
启动线程时调用方法的细节:
- 调用run()方法:就是普通的操作,子类继承父类后,重写父类方法。创建子类对象,调用这个重写的方法。所有操作都还是在当前线程,并没有开启一个新的线程。
- 调用start()方法:本质上是调用Thread类中的start0(),这个方法是一个native方法。我们创建多线程,必须由操作系统来进行调度,决定各个线程如何分配CPU时间片。