Questão Thread

Ola Pessoal não entedi essa questao…alguem poderia me ajudar.

Which statement is true?

  1. class Worker extends java.lang.Thread {
  2. synchronized void iTest() {
  3.   try {
    
  4.     wait();
    
  5.   } catch (Exception e) {}
    
  6. }
    
  7. synchronized static void sTest() {
    
  8.    notify();
    
  9. }
    
  10. } [code]

a) Compilation fails.
b) An exception is thrown at runtime.
c) A thread entering iTest() will block indefinitely.
d) Any blocked thread in iTest() can only be unblocked by a call to sTest().
e) Any call to iTest() will permanently disable all further access to that instance of Worker.

A Resposta é A

notify() deveria ser um metodo static pra estar ali dentro de um metodo static.

outra coisa que eu poderia dizer é que a classe Worker teria que implementar o metodo run() -> da Thread;

creio que seja isso.

Valeu cara…

Uma pegadinha

Se uma classe que extende Thread se ela não substituir o metodo run a classe compila sem problema, mas não faz nada. Se a classe implementa a interface Runnable e não implementar o metodo run ai não compila…

massa !

Muito legal isso, estou a pouco tempo na comunidade mas estou me divertindo com essas pegadinhas!