Ubuntu Suomen keskustelualueet
Ubuntun käyttö => Ohjelmointi, palvelimet ja muu edistyneempi käyttö => Aiheen aloitti: haamu - 20.11.10 - klo:11.35
-
Olen tehnyt Netbeansilla pienen java ohjelman. Lisäsin siihen toiminnon, joka kaynnistää toisen threadin. Pääohjelma odottelee käyttäjän toimia, mutta pitäisi saada virkoamaan myös toisen threadin signaalista. Mitenkähän tuo helpoiten saadaan aikaan ?
-
Viestisi ei näy. Katso ratkaisu tuolta ja laita asiasi uudelleen: http://forum.ubuntu-fi.org/index.php?topic=30977.msg248993#msg248993
-
No niin, nythän tuo jopa näkyy. Ei tarvita enää selvännäkijää vastaamaan...
Kiitos vinkistä. Ihmettelinkin kun teksti muuttui spagetiksi kun kirjautui sisään.
-
Tuo herättäminen tehdään niin että pää threadissa synchronized bloking sisällä kutsutaan
wait();
Sitten toisessa threadissa kun halutaan herättää wait() oleva thread kutsutaan
notify(odottava objekti);
http://pastebin.com/p4KDQfyz
-
Ongelma on siinä, että pääohjelma ei odota loopissa, eikä wait() ole myöskään optio.
Pääohjelma odottaa jotain hiirenklikkausta tms. tapahtumaa. Jonkinlainen sendEvent tai sellainen olis siis hakusessa. Tällä hetkellä olen kallellaan tuollaiseen swingworker ratkaisuun,
jonka done() kutsu ainakin jollain tavalla ratkaisee ongelman. Mutta mieluiten herättäisin tuon pääohjelman jollain ilveellä.