Přidat otázku mezi oblíbenéZasílat nové odpovědi e-mailemVyřešeno java ukončení uspaného vlákna

Ahoj, děláme v javě jeden prográmek ve škole a mám problém s ukončením uspaného vlákna...hází to vyjímku "Exception in thread "AWT-EventQueue-0" java.lang.IllegalMonitorStateExcept

mám to takto:

první třída:

Vlakno vln = new Vlakno();

vln.start();
...
...
...
vln.konec=1;
vln.notify();
a třídu s vláknem:
public class Vlakno extends Thread {

    Parser prs = new Parser("něco1", "něco2");
    
    public byte konec = 0;

    public void run() {
        while (konec == 0) {
            try {
                if (prs.parsuj() == 1) {
                    System.out.println("ok");
                    Thread.sleep(60000);
                } else {
                    System.err.println("Chyba");
                    return;
                }
            } catch (InterruptedException ex) {
                Logger.getLogger(Vlakno.class.getName()).log(Level.SEVERE, null, ex);
            }
        }
return;
    }
}

Když vlákno spí, tak ho musím nejdříve probudit, tak zavolám notifyall a spadne to...neví co s tím?Když jen dám pomocí proměnné "konec" příznak na ukončení a nedám notiffy, tak musím čekat až se vlákno probudí, zkontroluje podmínku a pak se normálně ukončí...jenže já potřebuji ukončení hned...a né čekat...

děkuji za pomoc...

Odpověď na otázku

1 Zadajte svou přezdívku:
2 Napište svou odpověď:
3 Pokud chcete dostat ban, zadejte libovolný text:

Zpět do poradny