Stopping a Thread in Java?
java, multithreading
Solution
Assuming your threads are reasonably under your control - i.e. they're not calling anything which is going to potentially wait forever without your code executing - I would shut it down with a simple (but thread-safe - use volatile!) flag.
See this article for an example in C# - the Java equivalent should be easy to work out. Calling `interrupt` won't have any effect until the thread next waits, and `stop` can leave your app in a hard-to-predict state. Wherever possible, go for a clean, orderly shutdown instead.
Problem
I'm in the process of writing a piece of code that connects to a server spawns a bunch of threads using that connection and does a bunch of "stuff". There are certain instances where the connection fails and I need to stop everything and start from scratch with a new object. I wanted to clean up after the object but calling thread.stop on the threads, but this method is seemingly deprecated. What is the recommended alternative to doing this? Should I write my own cleanup and exit method for each of the threads? Set the thread to null? or something else?