Ola pessoal, estive estudando pelo livro da kathy para a certificação e em um exercício de Thread não consigo entender o porque utilizando o método wait no meu linux fica travado e não vai, ai resolvi testar num micro que tenho windows com a mesma jre e funciona blz, mas no meu notebook não funciona assim é como se o notify(); não tivesse executando, sera alguma configuração que esta errada ?
uso linux fedora core10
e meu micro e um core2 duo
com java6
se alguem que ja passou por isso ficaria grato se me disserem o porque, abraços e vlw. aqui vai o cod
pessoal se eu colocar tempo dentro do wait ai funciona blz. se eu não fizer isso fica la parado “esperando b”
package charpter09;
public class ThreadA {
public static void main(String[] args) {
// Criar um objeto Thread B
ThreadB b = new ThreadB();
// Chamar o metodo run()
b.start();
//sincronização
synchronized (b) {
System.out.println("Esperando por b");
// chamar o metodo wait();
try {
b.wait();
} catch (Exception e) {
e.printStackTrace();
}
System.out.println(b.valor);
}
}
}
package charpter09;
public class ThreadB extends Thread{
int valor;
public void run(){
synchronized (this) {
for(int i = 0; i < 100; i ++){
valor += i;
}
notify();
}
}
}