questão fácil, clássica e... chata

a - não compila
b - compila, roda e lança runtime exception
c - compila, roda e imprime A, B ou B, A, a ordem não pode ser determinada
d - compila, roda e imprime A, B nesta ordem
e - compila, roda e imprime B, A nesta ordem

class A extends Thread implements Runnable {
	public void run() {
		System.out.println ("A");
	}
}

class B implements Runnable {
	public void run() {
		System.out.println ("B");
	}
}

public class Teste05 {
	public static void main (String [] args) {
		A a = new A();
		B b = new B();
		a.run(); b.run();
	}
}

d - compila, roda e imprime A, B nesta ordem

Certo?

d - compila, roda e imprime A, B nesta ordem

a.run();
b.run();

estas linhas não iniciam uma nova Thread, elas apenas estão chamando o método run()…

portanto vc pode dizer que a ordem de execução será a ordem em que os métodos foram chamados :smiley:

me corriga se falei besteira :smiley:

ambos acertaram! (pra uma sexta-feira estamos indo bem)