A good programming practice is that, we should never stop (kill) a thread or pause a thread using the pause() method.
The follow methods are deprecated in the Thread API:
stop() pause() resume()
These methods are considered harmful because they may introduce error-prone deadlocks.
Alternate approaches are available.
For example, to stop a thread you must always check for some status variable, execute your clean up code (like closing files or db connections) and then you must exit the run() method. Just for the sake of stoping the thread you should not throw a NullPointerException yourself. I know you won't do this anyway
Look at this thread, I presented a code that will do a graceful termination of a thread: Click here
Instead of pause() and resume(), you should be using wait() and notifyAll() mechanism. Please check for some Thread related tutorial in java.sun.com