题目
开发者在使用TaskPool时,发现任务执行效率下降,怀疑是由于工作线程数量达到上限。为了验证这一假设,开发者应该检查什么?A. 任务函数的执行时间B. 设备的物理核数C. 任务的优先级设置D. 设备的可用内存
开发者在使用TaskPool时,发现任务执行效率下降,怀疑是由于工作线程数量达到上限。为了验证这一假设,开发者应该检查什么?
A. 任务函数的执行时间
B. 设备的物理核数
C. 任务的优先级设置
D. 设备的可用内存
题目解答
答案
B. 设备的物理核数
解析
考查要点:本题主要考查对线程池工作原理的理解,特别是工作线程数量与设备物理核数之间的关系。
解题核心思路:
当任务执行效率下降时,若怀疑是工作线程数量达到上限,需明确线程池的容量通常由设备物理核数决定。线程池默认最大线程数与CPU核数相关,若任务量超过核数,线程需排队,导致效率下降。
破题关键点:
- 物理核数是线程池容量的硬性限制,而非任务时间、优先级或内存。
- 其他选项(如内存、任务时间)可能影响整体性能,但与“线程数量上限”无直接关联。
选项分析:
- A. 任务函数的执行时间
任务执行时间长会增加整体耗时,但与线程数量是否达到上限无关。 - B. 设备的物理核数
正确选项。线程池默认最大线程数通常与物理核数相同,若任务量超过核数,线程无法新增,需排队,导致效率下降。 - C. 任务的优先级设置
优先级影响任务执行顺序,但不会限制线程总数。 - D. 设备的可用内存
内存不足可能引发系统卡顿,但与线程数量上限无直接关系。
结论:
验证“线程数量达到上限”的假设,需检查设备物理核数是否已被充分利用。