Java并发学习笔记(6)线程的四种状态,优先级

来源:互联网 发布:网络运维工资是多少 编辑:程序博客网 时间:2024/06/05 16:16

线程的四种状态

1. 新状态:线程已被创建但尚未执行(start() 尚未被调用)。

2. 可执行状态:线程可以执行,虽然不一定正在执行。CPU 时间随时可能被分配给该线程,从而使得它执行。

3. 死亡状态:正常情况下 run() 返回使得线程死亡。调用 stop()或 destroy() 亦有同样效果,但是不被推荐,前者会产生异常,后者是强制终止,不会释放锁。

4. 阻塞状态:线程不会被分配 CPU 时间,无法执行。

 

线程的优先级

线程优先级可以给Cpu提供一种建议,优先执行优先级较高的进程,既优先级高的线程就可以获得更多的CPU时间,请注意这并不是 CPU一定先执行优先级高的进程,只不过优先级低的进程获得CPU时间的机会相对小一些

实现方法:调用Thread,你可以调用 Thread 类的方法 getPriority() 和 setPriority()来存取线程的优先级,线程的优先级界于1(MIN_PRIORITY)和10(MAX_PRIORITY)之间,缺省是5(NORM_PRIORITY)。 虽然1到10之间的数值都可以选择,但是并不是所有系统都有这么多的优先级,但是1 5 10是会有的.也就是这三个常量的映射.不推荐新手改变优先级.

0 0