龙空技术网

Java 线程状态

二进制札记 122

前言:

今天我们对“java线程运行状态”可能比较关切,朋友们都需要知道一些“java线程运行状态”的相关内容。那么小编也在网络上收集了一些有关“java线程运行状态””的相关资讯,希望我们能喜欢,同学们快快来了解一下吧!

一个线程可以处于以下四种状态之一新建(new):当线程被创建时,只会短暂地处于这种状态。此时已经分配了必需的系统资源,并执行了初始化。此刻线程已经有资格获得CPU时间,之后调度器将把这个线程转变为可运行状态或阻塞状态。就绪(runnable):这种状态下,只要调度器把时间片分配给线程,线程就可以运行。阻塞(blocked):线程能够运行,但有某个条件阻止它的运行。当线程处于阻塞状态时,调度器将忽略线程,不会分配给线程任何CPU时间。直到线程进入就绪状态,它才有可能执行操作。死亡(dead):处于死亡或终止状态的线程将不再是可调度的,并且再也不会得到CPU时间。它的任务已结束,或不再是可运行的。一个任务进入阻塞状态,可能有如下原因通过调用 sleep 使任务进入休眠状态,在这种情况下,任务在指定的时间内不会运行。通过调用 wait() 使线程挂起。直到线程得到了 notify() 或 notifyAll() 的消息,线程才会进入就绪状态。任务在等待某个输入/输出完成。任务试图在某个对象上调用其同步控制方法,但对象锁不可用,因为另一个任务已经获取了这个锁。

《Java 编程思想》

原文:

标签: #java线程运行状态