Szál futási gondok

Szál futási gondok
2010-01-25T22:30:42+01:00
2010-01-26T13:36:16+01:00
2022-11-16T10:25:35+01:00
kokeny20
Tiszteletem!
Az alábbi kódban szeretném ha segítenétek nekem!

@Override public void run() { super.run(); Calendar c1=Calendar.getInstance(); Calendar c2 = null; while(folytat){ try { Thread.sleep(1000); c1.setTime(this.stringbolDatum(verseny.getRegkezd())); c2=Calendar.getInstance(); long diff =this.ketDatumKulonsbege(c1, c2); verseny.setStatus("Várakozik"); if(diff==0&& verseny.isJelezd()){ folytat=false; } else if(diff>0){ c1.setTime(this.stringbolDatum(verseny.getSart())); diff =this.ketDatumKulonsbege(c1, c2); System.out.println(diff); verseny.setStatus("Regisztráció"); if(diff>0){ verseny.setStatus("Folyamatban..."); } } Date ki =this.longbolDatum(diff); verseny.setRegh(ki); } catch (Exception ex) { System.out.println("VersenySzalban hiba keletkezett!"); } } this.Jelzes("Regisztráció nyitott!"); }


Tehát van egy szálam, ami dátumok különbség számolja, és csinál pár dolgot!

A kilépési feltétel a while ciklusnak egy boolean érték! Ami a cikluson belül false-ra is állítódik!
Ekkor leáll a ciklus és végrehajtja a Jelzes metódust!

public void Jelzes(String uzenet){ JOptionPane.showMessageDialog(null, uzenet,"Regisztráció",JOptionPane.INFORMATION_MESSAGE); Naptar.getTrayIcon().displayMessage(uzenet, verseny.getVnev(), MessageType.INFO); this.hangJelzes(); }


Azt nem értem hogy ez miért kétszer kerül végrehajtásra?
Két hangot játszik le, két JOptionPane-t dob fel!
Pedig minden jel arra utal hogy a szál csak egyszer fut!


Légyszi segítsetek mert ez elég gáz egy proginál...


Köszönettel
kokeny
Mutasd a teljes hozzászólást!
Most ezt próbáld ki:

public Verseny() { if(szal==null){ szal =new VersenySzal(this); System.out.println("\n Most elindítok egy szálat. \n"); } }
Mutasd a teljes hozzászólást!

Tetszett amit olvastál? Szeretnél a jövőben is értesülni a hasonló érdekességekről?
abcd