Thread 是 线的意思
// 注:控制台输出的是: 两个线程会交叉跑,不会让一个线程单独跑完
// 注:主线程的任务不要放在子线程之前,这样主线程,单独跑完,不会管子线程了 (这个for不要放上面)先创建线程对象,然后调用start方法
package com.itheima.d1_create;
/**
* 目标: 多线程的创建方式一: 继承Thread类实现。
*/
public class ThreadDemo1 {
public static void main(String[] args) { // 一般main方法启动是由主线程启动它的
// 3. new一个新线程对象
Thread t = new MyThread(); // 这是一种完美的多态写法
// 4. 调用start方法启动线程(执行的还是run方法)
// 不能直接调用run方法,会被当成普通run方法使用,最后还是单线程
t.start(); // 子线程启动
//
// 两个线程都在跑,代表实现了多线程
for (int i = 0; i < 5; i++) { // 每次都在跑,先后顺序不一样
// 子线程和主线程都会执行不分先后,可能先执行一下子线程,后执行主线程
System.out.println("主线程执行输出:" + i);
}
}
}
/**
* 1. 定义一个线程类必须要继承Thread类
* Thread 是线程的意思
*/
class MyThread extends Thread{ // 面向对象的特点,一旦继承的其他类,就不能在继承别的类了
/**
* 2 .重写run方法,里面是定义先出以后要干什么
*/
@Override
public void run() {
for (int i = 0; i < 5; i++) {
System.out.println("子线程执行输出:" + i); // 除了主线程,其他的叫子线程
}
}
}