Boa Tarde pessoal,
Alguem poderia me esclarecer a seguinte questÃo:
Given that a static method doIt() in the class Work represents work to be done, which block of code will succed in starting a new Thread that will do the work?
[b]Select the one correct answer.
a)[/b]
Runnable r = new Runnable() {
public void run() {
Work.doIt();
}
};
Thread t = new Thread®;
t.start();
b)
Thread t = new Thread() {
public void start() {
Work.doIt();
}
};
t.start();
c)
Runnable r = new Runnable() {
public void run() {
Work.doIt();
}
};
r.start();
d)
Thread t = new Thread(new Work());
t.start();
Runnable r = new Runnable() {
public void run() {
Work.doIt();
}
};
r.run();
Eu concordo que a letra © tá fora pq o método start() nem existe naquela instância, visto que não trata-se de uma Thread, a qual implementa Runnable e implementa o método start()
a (D) tá fora de nexo, pois nem se sabe se Work é Runnable ou Thread
letra (E) acho q tb tá fora pq num gera em runtime uma nova Thread e sim executa o método run como em uma classe qualquer…
Bom, e segundo a resposta do livro a letra certa é (A), porém lá vai minha dúvida, pq a (B) tb não está certa?!?!?!?! Qual a diferença de (A) e (B)???[/u]

