kitfox wrote:At this point you created a Thread object, not a thread.
Ideally, I would do something like create a Thread object in my main thread and then call run() on it.
The thread would then run until it hit a sleep() or yield(), at which point control would return to my main thread."The thread" does not exist. You are still in the main thread, executing the Thread object's run() method. Therefore, when you hit sleep(), your main thread will sleep and will not be able to do anything for as long as it sleeps.