Java Thread interrupt(). Is it normal exception? <p>I am starting my Thread like this: </p> <pre><code>public void startTask(Runnable r) { running = true; Log.i(tag, "-----------start.Runnable-----------"); final Thread first = new Thread(r); currentTask = first; first.start(); Thread second = new Thread(new Runnable() { @Override public void run() { try{ first.join(); } catch(InterruptedException e){ } running = false; } }); second.start(); } </code></pre> <p>And when I want to cancel current operation, I am doing such with a Theread according to this article: <a href="http://forward.com.au/javaProgramming/HowToStopAThread.html" rel="nofollow">http://forward.com.au/javaProgramming/HowToStopAThread.html</a> :</p> <pre><code>public void cancelTask() { Log.i(tag, "-----------cancelTask()-----------"); try{ currentTask.interrupt(); running = false; } catch(SecurityException e){ e.printStackTrace(); } } </code></pre> <p>Application is still running after cancelTask, but I have exception: </p> <pre><code>12-05 20:29:00.274: W/System.err(13533): java.lang.InterruptedException 12-05 20:29:00.274: W/System.err(13533): at java.lang.VMThread.sleep(Native Method) 12-05 20:29:00.294: W/System.err(13533): at java.lang.Thread.sleep(Thread.java:1047) 12-05 20:29:00.294: W/System.err(13533): at java.util.concurrent.TimeUnit.sleep(TimeUnit.java:331) 12-05 20:29:00.304: W/System.err(13533): at com.rsd.myfirstapp3.ProgressServiceActivity$2.run(ProgressServiceActivity.java:174) 12-05 20:29:00.314: W/System.err(13533): at java.lang.Thread.run(Thread.java:864) </code></pre> <p>.</p> <p><strong>Is it normal exception in such operations with threads?</strong> </p>