Ubuntu Suomen keskustelualueet

Ubuntun käyttö => Ohjelmointi, palvelimet ja muu edistyneempi käyttö => Aiheen aloitti: haamu - 20.11.10 - klo:11.35

Otsikko: Java ohjelmointia
Kirjoitti: 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 ?
Otsikko: Vs: Java ohjelmointia
Kirjoitti: Tomin - 20.11.10 - klo:13.22


Viestisi ei näy. Katso ratkaisu tuolta ja laita asiasi uudelleen: http://forum.ubuntu-fi.org/index.php?topic=30977.msg248993#msg248993
Otsikko: Vs: Java ohjelmointia
Kirjoitti: haamu - 20.11.10 - klo:21.36
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.
Otsikko: Vs: Java ohjelmointia
Kirjoitti: _Pete_ - 27.11.10 - klo:10.23
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

Otsikko: Vs: Java ohjelmointia
Kirjoitti: haamu - 30.11.10 - klo:19.40
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ä.