Question: How to kill a running thread in java

Answer: 
As Bozho said, Thread.interrupt() is the generic and right way to do it. But remember that it requires the thread to cooperate; It is very easy to implement a thread that ignores interruption requests. 

In order for a piece of code to be interruptible this way, it shouldn't ignore any InterruptedException, and it should check the interruption flag on each loop iteration (using Thread.currentThread().isInterrupted()). Also, it shouldn't have any non-interruptible blocking operations. If such operations exist (e.g. waiting on a socket), then you'll need a more specific interruption implementation (e.g. closing the socket).
Shortly you need [`Thread.interrupt()`](http://java.sun.com/j2se/1.5.0/docs/api/java/lang/Thread.html#interrupt%28%29)

For more details check the section `How do I stop a thread that waits for long periods (e.g., for input)` in this article [Why Are `Thread.stop`, `Thread.suspend`,`Thread.resume` and `Runtime.runFinalizersOnExit` Deprecated?](http://java.sun.com/j2se/1.5.0/docs/guide/misc/threadPrimitiveDeprecation.html).