Por que run () não é chamado imediatamente quando start () é chamado em um objeto de thread em java

Ou é?
Eu tenho um objeto de thread de:

Thread myThread = new Thread(pObject);

Onde pObject é um objeto de uma classe implementando a interface Runnable e, em seguida, tenho o método start chamado no objeto de thread da seguinte maneira:

myThread.start();

Agora, meu entendimento é que, quando start () é chamado, a JVM implicitamente (e imediatamente) chama o método run () que pode ser substituído (como no meu caso)

No entanto, no meu caso, parece que o método start () não é chamado imediatamente (conforme desejado), mas até que as outras instruções / métodos sejam concluídos a partir do bloco de chamada, ou seja, se eu tivesse um método após a chamada start (), assim:

myThread.start();
doSomethingElse();

doSomthingElse () é executado antes que o método run () seja executado.
Talvez eu esteja errado com a premissa inicial de que run () é sempre chamado logo após o início () ser chamado. Por favor ajude! O desejado novamente está executando a execução () logo após o início (). Obrigado.

questionAnswers(6)

yourAnswerToTheQuestion