芯が強い人になるESTJ-A

# 多线程详解

IT開発 Tags: 无标签 阅读: 207

多线程

方法一:与Thread类有关,1继承Thread类,2重写run()方法,3主方法main,调用start()开启线程。
方法二:与接口有关,代理;1实现Runnable接口,2重写run()方法,3主方法,new实现runnable接口的类,new Thread类,再把接口类,扔入Thread,调用start()开启线程

/**
 * author:xuwen
 * Created on 2022/4/6
 */
/**
 * 方法三:1实现接口,implements Runnable接口;2丢入一个线程
 * */
public class TestThread3 implements Runnable {

    @Override
    public void run() {
        //run方法,线程体
        for (int i = 0; i < 50; i++) {
            System.out.println("我在看代码===="+i);
        }

    }


    //主方法
    public static void main(String[] args) {
        //创建一个Runnable接口的实现类
        TestThread3 t3 = new TestThread3();
        //代理
        Thread thread = new Thread(t3);
        thread.start();


        for (int i = 0; i < 150; i++) {
            System.out.println("我在学习多线程,==="+i);
        }

    }
}

//创建线程方法一:1继承Thread类,2重写run()方法,3主方法调用start()开启线程(start同时运行2个线程)
public class TestThread1 extends Thread{
    @Override
    public void run() {
       //run方法,线程体
        for (int i = 0; i < 50; i++) {
            System.out.println("我在看代码===="+i);
        }

    }


    //主方法
    public static void main(String[] args) {

        TestThread1 t1 = new TestThread1();
        t1.start();

        for (int i = 0; i < 150; i++) {
            System.out.println("我在学习多线程,==="+i);
        }

    }
}

截屏2022-04-06 10.27.36.jpg

截屏2021-07-12 19.15.52.jpg
截屏2021-07-12 21.33.10.jpg
截屏2021-07-12 21.38.30.jpg
截屏2021-07-12 21.39.22.jpg
截屏2021-07-12 21.52.09.jpg
截屏2021-07-12 22.22.40.jpg
截屏2021-07-12 22.35.34.jpg
截屏2021-07-12 22.41.11.jpg

线程混乱,不稳定

截屏2021-07-14 14.01.48.jpg
截屏2021-07-14 14.01.57.jpg
截屏2021-07-14 14.02.01.jpg
截屏2021-07-14 14.30.29.jpg
截屏2021-07-14 14.30.29.jpg

线程的状态,感觉是线程的生命周期

截屏2021-07-14 22.03.06.jpg