title: Who is calling the Java Thread interrupt() method if I'm not?
body: <p>I've read and re-read Java Concurrency in Practice, I've read several threads here on the subject, I've read the IBM article <a href="http://www.ibm.com/developerworks/java/library/j-jtp05236.html" rel="noreferrer">Dealing with InterruptedException</a> and yet there's something I'm simply not grasping which I think can be broken down into two questions:</p>
  
  <ol>
  <li><p>If I'm never ever interrupting other threads myself, what can trigger an <em>InterruptedException</em>?</p></li>
  <li><p>If I'm never ever interrupting other threads myself using <em>interrupt()</em> (say because I'm using other means to cancel my working threads, like poison pills and <em>while (!cancelled)</em> style loop [as both explained in JCIP]), what does an <em>InterruptedException</em> then mean?  What am I supposed to do upon catching one?  Shutdown my app?  </p></li>
  </ol>