java多线程:线程状态

清疚 2022-05-26 11:25 458阅读 0赞
线程可以有如下 6 种状态 :

• New ( 新创建 )
• Runnable( 可运行 )
• Blocked( 被阻塞 )
• Waiting( 等待 )
• Timed waiting( 计时等待 )
• Terminated( 被终止 )
。要确定一个线程的当前状态 , 可调用 getState 方法。

新创建线程

当用 new 操作符创建一个新线程时, 如newThread ( r ), 该线程还没有开始运行 。 这意味着它的状态是 new
。 当一个线程处于新创建状态时 , 程序还没有开始运行线程中的代码 。 在线程运行之前还有一些基础工作要做。

可运行线程

一旦调用 start 方法, 线程处于runnable 状态。 一个可运行的线桿可能正在运行也可能没有运行 , 这取决于操作系统给线程提供运行的时间 。 ( Java 的规范说明没有将它作为一个单独状态。 一个正在运行中的线程仍然处于可运行状态 。)

被阻塞线程和等待线程

当线程处于被阻塞或等待状态时, 它暂时不活动 。 它不运行任何代码且消耗最少的资源。 直到线程调度器重新激活它 。 细节取决于它是怎样达到非活动状态的 。

被终止的线程

线程因如下两个原因之一而被终止 :

• 因为 run 方法正常退出而自然死亡 。

• 因为一个没有捕获的异常终止了 nm 方法而意外死亡

发表评论

表情:
评论列表 (有 0 条评论,458人围观)

还没有评论,来说两句吧...

相关阅读

    相关 Java 线状态

    Java 多线程是 Java 语言中的一项重要功能,它允许程序在同一时间内运行多个线程,从而提高程序的并发性能。在 Java 多线程中,线程状态是一个非常重要的概念,它表示线程

    相关 Java线 —— 线状态迁移

    引言 线程状态迁移,又常被称作线程的生命周期,指的是线程从创建到终结需要经历哪些状态,什么情况下会出现哪些状态。 线程的状态直接关系着并发编程的各种问题,本文就线程的状