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.