创建多线程程序的第一种方式:创建Thread类的子类 。
java.lang.Thread类:是描述线程的类,我们想要实现多线程程序,就必须继承Thread类。
实现步骤:
- 创建一个Thread类的子类。
- 在Thread类的子类中重写Thread类中的run方法,设置线程任务(开启线程要做什么?)。
- 创建Thread类的子类对象
- 调用Thread类中的方法start方法,开启新的线程,执行run方法。
void start() 使该线程开始执行;java 虚拟机调用线程的 run 方法。
结果是两个线程并行运行:当前线程(main线程)和另一个线程(创建新的线程,执行 run 方法)。
多次启动一个线程是非法的。特别是当前线程已经结束执行后,不能再重新启动。
java程序属于抢占式调度,哪个线程的优先级高,哪个线程优先执行;同一个优先级,随机选择一个执行
案例:
定义一个Thread类的子类:
package XianCheng.DuoThread;
//1. 创建一个Thread类的子类。
public class MyThread extends Thread{
//2. 在Thread类的子类中重写Thread类中的run方法,设置线程任务(开启线程要做什么?)。
@Override
public v