Why can’t we call the start method twice on a same instance of the Thread object?

In my opinion the Thread object is your “handle” for the actual running context. If you allow creating many concurrent executions associated with the same java.lang.Thread, what would you expect getStackTrace() and getState() methods to return?

I suppose that Thread class could have been designed to allow spawning multiple running contexts, but its API would be less simple and clean.

Leave a Comment