wait, notify, notifyAll não devem ser usados somente em contextos sincronizados??
Então pq este codigo abaixo compila e executa??
public class TwoThreads {
static Thread laurel,hardy;
/**
* @param args
*/
public static void main(String[] args) {
// TODO Auto-generated method stub
laurel=new Thread(){
public void run(){
System.out.println("A");
try {
hardy.sleep(1000);
} catch (InterruptedException e) {
// TODO Auto-generated catch block
System.out.println("B");
}
System.out.println("C");
} } ;
hardy=new Thread(){
public void run(){
System.out.println("D");
try {
laurel.wait();//Não está no contexto sincronizado na minha opinião.
} catch (Exception e) {
// TODO Auto-generated catch block
System.out.println("E");
}
System.out.println("F");
} } ;
laurel.start();
hardy.start();
}
}
Agradeço a atenção de todos.