创建多线程程序的第一种方式_创建多线程
作者:互联网
主线程 MyThreadThread
package cn.itcast.day12.demo05;
/**
* @author admin
* @version 1.0.0
* @ClassName Thread.java
* @Description TODO
* @createTime 2021年09月26日 18:11:00
*/
import jdk.nashorn.internal.ir.debug.NashornTextifier;
/**
* 创建多线程程序的第一种方式 创建Thread类的子类
* java.long.Thread;是描述线程的类,我们想要实现多线程程序,就必须继承Thread类
* 实现步骤:
* 1.创建一个Thread类的子类
* 2.在Thread类的子类中重写Thread类中的run方法,设置线程任务(开启线程要做什么)
* 3.创建Thread类的子类对象
* 4.调用Thread类中的方法start方法 开启新的线程,执行run方法
* void start() 使该线程开始执行 ;Java虚拟机调用该线程的run方法
*
* 结果是两个线程并发的运行,当前线程【main线程】(从调用返回给start方法)和另一个线程【创建的新线程】(执行其run方法)
* 多次启动一个线程是非法的,特别是当线程已经结束执行后,不能在重新启动
* java程序属于抢占式调度,哪个线程的优先级高,哪个线程优先执行;同一个优先级,随机选择一个执行
*
*
*
*/
public class MyThreadThread {
public static void main(String[] args) {
// 3.创建Thread类的子类对象
MyThread mt = new MyThread();
//4.调用Thread类中的方法start方法 开启新的线程,执行run方法
mt.start();
for (int i = 0; i < 20; i++) {
System.out.println("mian" + i);
}
/**
* mian1
* mian2
* mian3
* mian4
* mian5
* mian6
* mian7
* mian8
* mian9
* run:0
* mian10
* run:1
* mian11
* run:2
* mian12
* run:3
* mian13
* run:4
* mian14
* run:5
* mian15
* mian16
* mian17
* mian18
* mian19
* run:6
* run:7
* run:8
* run:9
* run:10
* run:11
* run:12
* run:13
* run:14
* run:15
* run:16
* run:17
* run:18
* run:19
*
* Process finished with exit code 0
* mian0
* run:1
* mian1
* run:2
* mian2
* run:3
* mian3
* mian4
* mian5
* mian6
* mian7
* run:4
* mian8
* run:5
* mian9
* run:6
* mian10
* run:7
* mian11
* run:8
* mian12
* run:9
* mian13
* run:10
* mian14
* run:11
* mian15
* run:12
* mian16
* mian17
* mian18
* mian19
* run:13
* run:14
* run:15
* run:16
* run:17
* run:18
* run:19
*
* Process finished with exit code 0
*/
}
}
新线程 MyThread
package cn.itcast.day12.demo05;
/**
* @author admin
* @version 1.0.0
* @ClassName MyThread.java
* @Description TODO
* @createTime 2021年09月26日 18:42:00
*/
// 1.创建一个Thread类的子类
public class MyThread extends Thread { //注意类名不可以使用Thread 因为如果使用Thread命名的话 默认就是继承同级类了
//2.在Thread类的子类中重写Thread类中的run方法,设置线程任务(开启线程要做什么)
@Override
public void run() {
for (int i = 0; i < 20; i++) {
System.out.println("run:" + i);
}
}
}
标签:第一种,run,Thread,创建,start,线程,子类,多线程 来源: https://blog.csdn.net/nanyangnongye/article/details/120517277