多线程状态转换流程

多线程状态分为:创建、就绪、运行、等待、终止几种状态。

1、创建(New):创建一个新的线程对象,但是并不调用start()方法。

2:就绪(Runnabled):当线程调用start()方法时,线程就会变为就绪状态,此时线程还没有获得CPU调度,如果线程从等待或者睡眠状态中回来后也会变为就绪状态。

3、运行(Running):程序将处于就绪状态的现成设置为主线程。

4、等待(Waiting):(1)等待阻塞:该线程等待其他线程作出动作(通知或中断)这种状态CPU不会分配,他们需要等待被唤醒,也可能会被无限等待。或者调用wait也可以通过sleep改变状态Join或者IO请求也会将状态改为等待,等待结束后线程重新变成就绪状态。(2)同步阻塞:线程在获取synchronized同步锁失败,即锁被其他线程占用,线程就过进入同步阻塞。

5、终止(Termnation ):一个线程的run方法执行结束或者死亡,该线程不能进入就绪状态

posted @ 2023-10-25 22:44  开心的小l  阅读(23)  评论(0编辑  收藏  举报