线程的生命周期状态

1.Thread的构造器
Thread类的所有构造器最后都指向int方法
示例1:
public Thread() { init(null, null, "Thread-" + nextThreadNum(), 0); } 示例2: public Thread(Runnable target) { init(null, target, "Thread-" + nextThreadNum(), 0); }init方法:
private void init(ThreadGroup g, Runnable target, String name, long stackSize, AccessControlContext acc, boolean inheritThreadLocals)
常用参数:
group:线程的分组 一般用默认
target:线程主要的执行体也就是run方法 最主要的参数
name:线程名字 一般用默认
线程创建后就处于新建状态
2.Thread的常用方法
start()启动方法
run()主要的方法体,运行的逻辑体
sleep() 线程休眠一定时间
wait():线程暂停;
notify():其他线程调起唤醒暂停的线程
notifyAll():唤醒所有等待的线程
yield():暂停当前正在执行的线程,并执行其他线程
示例:
package com.example.springbootdamo.Thread;
/**
 * @ClassName Test
 * @Description TODO
 * @Author 22768
 * @Date 2024/4/6 14:09
 */
public class Test {
    public static void main(String[] args) {
        ThreadTest threadTest = new ThreadTest();
        ThreadTest threadTest1 = new ThreadTest();
        ThreadTest threadTest2 = new ThreadTest();
        ThreadTest threadTest3 = new ThreadTest();
        threadTest.start();
        threadTest1.start();
        threadTest2.start();
        try {
            threadTest.sleep(1000);
            threadTest1.sleep(1000);
            threadTest2.sleep(1000);
            synchronized (threadTest){threadTest.wait();}
            synchronized (threadTest1){threadTest1.wait();}
            synchronized (threadTest2){threadTest2.wait();}
            threadTest.notify();
            threadTest1.notifyAll();
        } catch (InterruptedException e) {
            e.printStackTrace();
        }
    }
}
 
 
 
                

















