最新java线程面试题目
一、线程的四种状态
1. 新状态:线程已被创建但尚未执行(start() 尚未被调用)。
2. 可执行状态:线程可以执行,虽然不一定正在执行。cpu 时间随时可能被分配给该线程,从而使得它执行。
3. 死亡状态:正常情况下 run() 返回使得线程死亡。调用 stop()或 destroy() 亦有同样效果,但是不被推荐,前者会产生异常,后者是强制终止,不会释放锁。
4. 阻塞状态:线程不会被分配 cpu 时间,无法执行。
二、线程的优先级
线程的优先级代表该线程的重要程度,当有多个线程同时处于可执行状态并等待获得 cpu 时间时,线程调度系统根据各个线程的`优先级来决定给谁分配 cpu 时间,优先级高的线程有更大的机会获得 cpu 时间,优先级低的线程也不是没有机会,只是机会要小一些罢了。
你可以调用 thread 类的方法 getpriority() 和 setpriority()来存取线程的优先级,线程的优先级界1(min_priority)和10(max_priority)之间,缺省是5(norm_priority)。
【最新java线程面试题目】相关文章: