Afinal, o método run() é de quem? [Resolvido]

Galera,
sei que o método run() vem da interface de Runnable e que Thread o “implementa”.

Estou fazendo alguns simulados e tive respostas contrárias em relação ao mesmo assunto.

A pergunta era:
Quais são métodos de Thread?

a-join
b-wait
c-notify
d-run

sei que join faz parte, porém e agora o que devo marcar na prova?uma vez que run() é de Runnable? Mesmo assim devo considerar o run() sendo de Thread em questões desse tipo?
Valeu.

Boa pergunta…

Segundo a API, run faz parte também porque é sobrescrita. Mas não posso te dar certeza quando à resposta!

http://download.oracle.com/javase/1.4.2/docs/api/java/lang/Thread.html

Thread implements Runnable. Mas certamente eu diria que run é metodo de thread.

O cabeçalho da pergunta é só esse? Porque Thread tb extends Object, então acho que é ambíguo. Seria diferente de perguntar ‘quais desses métodos são chamados a partir de Thread e não de Object?’

Eu não tive nenhuma questão ambígua na prova como essa.

[quote=CintiaDR]Thread implements Runnable.

O cabeçalho da pergunta é só esse? Porque Thread tb extends Object, então acho que é ambíguo. Mas certamente eu diria que run é metodo de thread. [/quote]

Tbm pensei nisso, mas thread não sobrescreve Notify, nem wait… Portanto as duas são de Object.

Já segundo o que está escrito abaixo:

Ele tá sobrescrito em Thread, mesmo que não faça nada.

Anderson,

Aí depende do que significa ‘Quais são métodos de Thread?’, que é a pergunta inicial.

  1. Quais os métodos acessíveis a partir de um objeto Thread?
  2. Quais os métodos que são implementados apenas em Thread e em nenhuma outra superclasse?
  3. Quais os métodos que são implementados e declarados apenas em Thread e em nenhuma outra superclasse ou interface?

Sinceramente, não sei a resposta, não.

Nesses casos vc vai marca join().

[quote=CintiaDR]Anderson,

Aí depende do que significa ‘Quais são métodos de Thread?’, que é a pergunta inicial.

  1. Quais os métodos acessíveis a partir de um objeto Thread?
  2. Quais os métodos que são implementados apenas em Thread e em nenhuma outra superclasse?
  3. Quais os métodos que são implementados e declarados apenas em Thread e em nenhuma outra superclasse ou interface?

Sinceramente, não sei a resposta, não. [/quote]

Pensando na sintaxe da pergunta como você falou… Realmente fica ambíguo. Eu entendi que são os métodos de Thread exatamente. Mas podem ocorrer outras interpretações como você mesmo citou.

charlesbraw A pergunta é exatamente esta? Ou tem mais alguma coisa?

Então, peguei uma pergunta que era exatamente assim.
Mas de qualquer maneira resolvi postar desse jeito para coletar a opinião da galera do fórum e ver o que o pessoal marcaria…
Essa é confusa né rsrsrsrs.

Como vocês disseram se a questão for bem elaborada não tem como confundir, mas nesses casos fica dificil.

Por isso repito nesse caso marque join().

Charles,

Uma das facilidades do teste e que não tem nos simulados é que é informado a quantidade que se tem que marcar.

Bem lembrado, isso vai ajudar muito.

É isso ai galera, se cair algo macabro dessa maneira vou verificar as opções que sei que é de Thread se sobrar… marco o run() senão, deixo ela para o Runnable hehehheh.

Valeu.