Problemas para entender Threads

Uma vez que eu tenha criado e instanciado uma Thread.

Thread t = new Thread();
t.start();

1 - Depois que chamo o método start() da Thread, automaticamente o método run() é invocado? Ou eu tenho que chamar run() manualmente?

2 - Quando o método run() entra em execução, esse método fica em loop até que o método stop() seja chamado? Se não, como faço para colocar o método run() em loop até que a Thread seja finalizada?

1 - Quem chama o metodo run() é a Thread.

2 - A Thread executa até que o metodo run() termine, não tem como você colocar o metodo run() em loop, acredito que o que você quer é colocar um loop dentro do run().

ex.:

public class Rodador implements Runnable{ public void run(){ while(condicao){ //faz alguma coisa } } }