Just extract the run method in a class that implements Runnable . Then you can easily restart it.
How do you restart a thread in Java?
To start or restart (once a thread is stopped, you can't restart that same thread, but it doesn't matter; just create a new Thread instance): // Create your Runnable instance Task task = new Task(...); // Start a thread and run your Runnable Thread t = new Thread(task);
How do you start and stop a thread?
You can't actually stop and then restart a thread since you can't call its start() method again after its run() method has terminated. However you can make one cease and then later resume execution by using a threading. Condition variable to avoid concurrency problems when checking or changing its running state.