The start of a thread is using the start () method, but it does not mean that the Start method is invoked to initiate multithreading immediately.
Thread Transition Status:
When multithreading calls the Start () method, it does not execute immediately, but instead enters the ready state, waiting for the schedule to execute. Scheduling is the need to assign resources to programs to run before you can execute code in multiple threads (code in run). But this program is not always executed, after a period of execution, it is necessary to give up resources to allow other threads to continue execution. That is, the run method may not have finished executing, probably only half done, then the time to give up the resources, then to re-enter the ready state, waiting for the allocation of new resources, and then continue to execute. When the thread finishes executing, it will not enter the terminating state.
Multithreading--The running state of threads (interview questions)