Machine-translated by Google. Questions are authored in English.
Top

Discussion

Consider interrupting a thread that is neither blocked nor sleeping. Which statement is correct?

  • A.interrupt() has no effect at all unless the target thread is blocked.
  • B.interrupt() on a thread that is neither blocked nor sleeping simply sets its interrupt status.
  • C.interrupt() on a running thread throws InterruptedException in that thread immediately.
  • D.interrupt() on a running thread terminates it as soon as it leaves its current method.

Answer: B

Interruption is a request, not a forced stop. On a thread that is simply running, interrupt() sets a flag and nothing else happens; the thread keeps going until it checks the flag or enters a blocking call that throws. That cooperative design is why the unsafe stop() was deprecated in its favour.

No comment is present. Be the first to comment.
Loading…

Post your comment

Please log in or register to post a comment.