码迷,mamicode.com
首页 > 编程语言 > 详细

2016年4月22日_JAVA学习笔记_多线程2

时间:2016-04-22 16:29:11      阅读:191      评论:0      收藏:0      [点我收藏+]

标签:

1、线程的六个状态(不同的地方有不同的状态数量和名称,但是应该都是大同小异):

新创建(New);可运行(Runnable);被阻塞(blocked);等待(Waiting);计时等待(Timed waiting);被终止(Terminated)。

1)当使用new 操作符创建一个新线程时,该线程还没有开始运行,在运行之前还有一些基础工作需要做(可能),因此处于新创建状态;

2)一旦线程调用了start方法,线程就处于可运行状态中。但是需要注意的是,一个可运行的线程可能正在运行也可能没有运行,这一切都取决于操作系统;

3)当线程处于被阻塞、等待和计时等待状态时,线程暂时停止活动,不运行任何代码。如何达到非运行状态是区分这三个状态的标志。具体细节比较复杂,暂且不表。

4)线程有两个原因之一被终止:第一个是因为run方法正常退出,而自然死亡;第二个是因为一个没有被捕获的异常终止了run方法而意外死亡。

2、关于线程与CPU的关系,有两个表示说法,一个是CPU的执行资格,这意味着该线程可以被CPU处理,在处理队列中排队;第二是CPU的执行权,表示正在被CPU处理。对于处于运行状态的线程,其具备着CPU的执行资格也具备CPU的执行权,处于冻结状态的线程不具备CPU的执行资格也不具备CPU的执行权。

2016年4月22日_JAVA学习笔记_多线程2

标签:

原文地址:http://www.cnblogs.com/pengjian-one/p/5421532.html

(0)
(0)
   
举报
评论 一句话评论(0
登录后才能评论!
© 2014 mamicode.com 版权所有  联系我们:gaon5@hotmail.com
迷上了代码!