PUBLIC OBJECT

On Thread.interrupt() and InterruptedException

Here's the rule I live by:

  1. Don't interrupt code that isn't expecting to be interrupted.
  2. Throw an AssertionError if you're interrupted and didn't expect to be.

Everything else is pain. You don't want to waste time testing that your code recovers from interruptions if they aren't going to happen in practice. And you definitely don't want to interrupt code that hasn't been tested to cope with interruptions.