A股上市公司传智教育(股票代码 003032)旗下技术交流社区北京昌平校区

 找回密码
 加入黑马

QQ登录

只需一步,快速开始

© 想、一个人 中级黑马   /  2013-6-3 19:43  /  1391 人查看  /  1 人回复  /   0 人收藏 转载请遵从CC协议 禁止商业使用本文

线程中的7种非常重要的状态:(有的书上也认为只有前五种状态:而将"锁池"、"等待池"

都看成是"阻塞"状态的特殊情况:这种认识也是正确的,但是将"锁池"和"等待池"单独分

离出来有利于对程序的理解)
1、初始状态、线程创建、线程对象调用start()方法。

2、可运行状态、也就是等待Cpu资源、等待运行的状态。

3、运行状态、获得了Cpu资源,正在运行状态。

4、阻塞状态、也就是让出Cpu资源、进入一种等待状态、而不是可运行状态、有三种

情况会进入阻塞状态。
     1)、如等待输入(输入设备进行处理、而Cpu不处理)、则放入阻塞、直到输入完毕、

阻塞结束后会进入可运行状态。
     2)、线程休眠、线程对象调用sleep()方法、阻塞结束后会进入可运行状态。
     3)、线程对象2调用线程对象1的join()方法、那么线程对象2进入阻塞状态、直到线

程对象1中止。

5、中止状态、也就是执行结束。

6、锁池状态。

7、等待队列。

线程的优先级:
    线程的优先级代表该线程的重要程度、当有多个线程同时处于可执行状态并等待获得

CPU时间时、线程调度系统根据各个线程的优先级来决定给谁分配CPU时间、优先级高

的线程有更大的机会获得CPU时间、优先级滴的线程也不是没有机会、只是机会要小一

些罢了。
     你可以调用Thread类的方法getPriority()和setPriorty来存取线程的优先级、线程的

优先级介于1(MIN_PRIORITY)和10(MAX_PRIORITY)之间、缺省是5

(NORM_PRIORITY)。

评分

参与人数 1技术分 +1 收起 理由
刘凯 + 1 赞一个!

查看全部评分

1 个回复

倒序浏览
收下了,谢谢楼主分享!
回复 使用道具 举报
您需要登录后才可以回帖 登录 | 加入黑马