Thread类的使用方法
** 先创建一个子类 **
package Day2021001;/*
*@author wanghongyuan
*@Create 2021/1/1 9:46
*/
// 创建一个Thread类的子类
public class MyThread extends Thread {
// 在Thread类的子类中重写Thread类中的run方法,设置线程任务
@Override
public void run() {
for (int i = 0; i < 20; i++) {
System.out.println("run -->"+i);
}
}
}
** 这是一个main方法,执行多线程 **
package Day2021001;/*
*@author wanghongyuan
*@Create 2021/1/1 9:26
*/
/*
创建多线程程序的第一种方式:创建Thread类的子类
java.lang.Thread类,描述线程的类,我们想要实现多线程的类,就必须继承Thread类。
实现步骤:
1. 创建一个Thread类的子类
2. 在Thread类的子类中重写Thread类中的run方法,设置线程任务
3. 创建Thread类的子类对象
4. 调用Thread类中的方法start方法,开启新的线程,执行run方法
void start()使该线程开始执行:Java虚拟机调用该线程的run方法。
结果是两个线程并发地运行,当前线程(main线程)和另一个线程(创建的新的线程,执行其run方法)。
多次启动一个线程是非法的,特别是当线程已经结束执行后,不能再重新启动。
java程序属于抢占式调度,那个线程的优先级高,那个线程就优先执行;同一个优先级,随机选择一个执行。
*/
public class Demo01Thread extends Thread {
public static void main(String[] args) {
// 创建Thread类的子类对象
MyThread my = new MyThread();
//调用Thread类中的方法start方法,开启新的线程,执行run方法
my.start();
for (int i = 0; i < 20; i++) {
System.out.println("main -->" + i);
}
}
}
运行结果
D:\Java\jdk-14.0.2\bin\java.exe "-javaagent:D:\Program Files\JetBrains\IntelliJ IDEA 2020.2.4\lib\idea_rt.jar=52807:D:\Program Files\JetBrains\IntelliJ IDEA 2020.2.4\bin" -Dfile.encoding=UTF-8 -classpath C:\Users\Administrator\IdeaProjects\DaYuanXue\out\production\DaYuanXue Day2021001.Demo01Thread
run -->0
main -->0
run -->1
main -->1
run -->2
main -->2
run -->3
main -->3
run -->4
main -->4
run -->5
main -->5
run -->6
main -->6
run -->7
main -->7
run -->8
main -->8
main -->9
run -->9
main -->10
run -->10
main -->11
run -->11
main -->12
run -->12
main -->13
run -->13
main -->14
run -->14
main -->15
run -->15
main -->16
run -->16
main -->17
run -->17
main -->18
run -->18
main -->19
run -->19
Process finished with exit code 0