在Java多线程环境中,假设有一个线程A,它的初始优先级为7。现在,线程A又创建了一个子线程B,在子线程B创建时,没有显式设置其优先级。下列关于线程B优先级的说法,哪一个是正确的?
答案解析
核心考点说明:本题考察Java线程的默认优先级以及子线程优先级设定。需要理解子线程在没有显式设置优先级时的默认行为。
解题思路分析:当子线程创建时没有设置优先级,它不会继承父线程的优先级,而是使用默认优先级。默认优先级为5,即`Thread.NORM_PRIORITY`的值。线程优先级不会随机分配,也不是完全取决于操作系统。
选项分析:
* A. 错误。子线程不继承父线程的优先级。
* B. 正确。子线程默认优先级为5。
* C. 错误。线程优先级不会随机分配。
* D. 错误。虽然操作系统有线程调度策略,但默认优先级值是确定的。
易错点提醒:容易误认为子线程会继承父线程的优先级,而没有意识到默认优先级规则的存在。或者是认为线程优先级是随机值或者是完全取决于操作系统而忽略了java本身的规定。
正确答案:B