Restarting a thread that has stopped execution

You can’t, well, it depends what you mean by “stopped”. Once the thread has reached the end of its run method or is explicitely stopped (don’t!) using the deprecated stop method, it cannot be restarted. You will have to create a new Thread instance on that object and call start again.

If you need a kind-of pause behavior, implement a boolean inside your thread that you can set externally. The run method checks this flag periodically and when set it will sleep execution until the flag is unset.