多线程一共有五个状态
分别是:
new(新建)
new一个对象新建一个线程,分配内存
start(准备)
用start()方法将线程放入线程池,等待获取cpu的使用权
running(运行)
已经获取cpu的使用权,开始运行run()方法
blocking(阻塞)
阻塞常见的有sleep(),wait(),join()方法来自己调用阻塞
还有一种是因为线程锁因为调用的关系,导致形成死锁,例如一个线程刚进入一个synchronizeddead方法,另一个线程在前面的线程还没开始cpu的释放的时候就进入了synchronizeddead方法,最后导致线程的cpu都没有释放,也就是程序处于堵塞状态。
dead(死亡)
线程生命周期结束,run()方法运行完毕。
关系图如下:
多线程的生命周期
最新推荐文章于 2025-06-15 13:37:00 发布