187day(线程状态)

陈国佳总结《2018年4月15日》【连续187天】

标题:线程状态;

内容:

线程可以有如下6 种状态:
•New ( 新创建)
•Runnable (可运行)
•Blocked ( 被阻塞)
•Waiting ( 等待)
•Timed waiting (计时等待)
•Terminated ( 被终止)

1.

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

2.

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

3.

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

4.

线程因如下两个原因之一而被终止:
•因为run 方法正常退出而自然死亡。

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

阅读更多
想对作者说点什么? 我来说一句

没有更多推荐了,返回首页