- 创建一个Thread子类
 - 重写run方法
 - 将要做的事情协助run方法体内
 - 通过对象调用start方法
 - 一个对象只能调用一个start方法
 - 可以创建多个对象调用多个start方法
 - 存在线程安全问题
 
示例代码:
/*** 创建人:LYY* 创建时间:2022/4/25** 多线程创建方式一:* 1. 创建一个继承Thread类的子类* 2. 重写Thread类的run方法* 3. 将要执行的内容写在run方法体内* 4. 通过对象调用当前子类的start方法*/public class ThreadOne extends Thread{@Overridepublic void run() {// 输出1-100的偶数for (int i = 0; i < 100; i++) {if (i % 2 == 0) {System.out.println("i = " + i);}}}}
/**创建人:LYY创建时间:2022/4/25*/public class ThreadTest {public static void main(String[] args) {ThreadOne threadOne = new ThreadOne();// 调用线程 线程一// start方法 1. 启动线程 2. 使java虚拟机调用run方法threadOne.start();// 直接调用run方法无法启动多线程功能threadOne.run();// 一个对象只能调用一个start方法 否则会出现IllegalThreadStateException//threadOne.start();// 新建对象 在调用start方法ThreadOne threadOne1 = new ThreadOne();// 新的线程启动 线程二threadOne1.start();for (int i = 0; i < 100; i++) {if (i % 2 != 0) {System.out.println("i = " + i);}}}}
