在Java中,假设有一个线程A在执行过程中调用了sleep(1000),而线程B在此时调用了interrupt()方法来中断线程A。请问在这种情况下,线程A的状态将会如何变化?
答案解析
本题考察对线程中断机制和sleep方法的理解。sleep方法使线程进入休眠状态,期间如果被中断,线程会抛出InterruptedException。选项A是错误的,因为线程A不会立即停止,而是会在sleep结束后抛出异常。选项B是错误的,因为线程A会受到中断影响。选项C是错误的,因为线程A在sleep结束后会抛出异常,而不是继续执行。选项D是正确的,线程A会被中断,并在下次检查中断状态时抛出InterruptedException。
正确答案:D