某Java线程执行如下逻辑:当未被中断时循环打印消息,每次循环后休眠20ms,休眠期间若被中断则捕获异常并输出提示。主线程启动该线程后休眠100ms,随后中断子线程。假设所有代码正确执行,下列描述正确的是?

答案解析

核心考点: 1. 线程中断机制的双重检测特性 2. InterruptedException的异常处理流程 3. interrupted()方法的副作用 解题思路: - Option A错误:interrupt()不是强制终止,而是设置中断标志 - Option B错误:主线程休眠100ms不保证子线程恰好处于sleep - Option C正确:静态方法interrupted()会清除中断状态 - Option D错误:异常抛出后会退出循环(因中断状态被清除) 易错点: 1. 混淆interrupted()与isInterrupted()的行为差异 2. 未理解异常捕获后中断标志的清除机制 3. 未能区分中断请求与实际中断处理的时序关系
正确答案:C
随机推荐
开始刷题