Doing some studying about threads and I’m confused about what the start() method in Java threads actually do.
My current understanding is that the start method doesn’t immediately start the thread’s execution, but instead moves it to a pool of threads waiting for it be picked for execution by the thread scheduler.
Is this correct? I can’t seem to find any good resources about what the methods actually do.
Exactly, when a call to
start()is performed, it just schedules the call torun(). You cannot determinate when the thread will effectively be launched, nor when it will effectively be stopped.You can find more information in the Java Doc on oracle’s website.