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