Concorrenza e Java

Tutta l'informatica

Concorrenza e Java

Messaggioda kristo » mer apr 28, 2004 11:55 am

Salve a tutti. Ho un piccolo problema in Java. Devo far "addormentare" una applicazione e farla risvegliare quando si verifica un evento. Qualcuno ha notizie in merito?

Grazie
ciao ciao !!

Home:cristianolongo.altervista.org
e-mail:[email protected]
kristo

Esperto
 
Messaggi: 56
Iscritto il: mar set 23, 2003 9:31 am
Località: Catania

Re: Concorrenza e Java

Messaggioda The Elter » mer apr 28, 2004 2:51 pm

kristo ha scritto:Salve a tutti. Ho un piccolo problema in Java. Devo far "addormentare" una applicazione e farla risvegliare quando si verifica un evento. Qualcuno ha notizie in merito?

Grazie


Specificare il tipo di evento e di applicazione!

In generale puoi mettere un thread in attesa con un syncronize o un wait... Ma dipende dall'evento che aspetti!
Quando la tigre ruggisce, si alzano forti venti; quando il drago grida, si addensano le nubi. Il verso della lepre o il raglio dell'asino invece non hanno alcun effetto sul vento e sulle nubi.
Avatar utente
The Elter

Veterano
 
Messaggi: 161
Iscritto il: lun set 22, 2003 10:41 am
Località: Firenze

Messaggioda kristo » mer apr 28, 2004 3:04 pm

>In generale puoi mettere un thread in attesa con un syncronize o un wait...
> Ma dipende dall'evento che aspetti!

Va bene. Supponiamo che io riesca a mettere in wait il mio processo(thread main)(avreste qualche guida?!?!?). Supponiamo inoltre che io abbia un listener associato al processo. Il mio dubbio è se il processo sta dormendo e si verifica l'evento per il listener, l'action associata parte?
Per rispondere completamente l'evento riguarda l'esecuzione di una stampa. Avrei pensato di usare PrintJobAdapter.
ciao ciao !!

Home:cristianolongo.altervista.org
e-mail:[email protected]
kristo

Esperto
 
Messaggi: 56
Iscritto il: mar set 23, 2003 9:31 am
Località: Catania

Messaggioda The Elter » mer apr 28, 2004 7:09 pm

kristo ha scritto:>In generale puoi mettere un thread in attesa con un syncronize o un wait...
> Ma dipende dall'evento che aspetti!

Va bene. Supponiamo che io riesca a mettere in wait il mio processo(thread main)(avreste qualche guida?!?!?). Supponiamo inoltre che io abbia un listener associato al processo. Il mio dubbio è se il processo sta dormendo e si verifica l'evento per il listener, l'action associata parte?
Per rispondere completamente l'evento riguarda l'esecuzione di una stampa. Avrei pensato di usare PrintJobAdapter.


Allora, riguardo i processi in attesa ti suggerisco i tutorial base che si trovano sul sito di java http://java.sun.com/docs/books/tutorial/essential/threads/index.html
comunque un processo in wait si risveglia invocando il comando notify (o notifyall) sullo stesso oggetto su cui lui era in attesa.

Quindi ammesso che il listener e il main abbiano accesso ad un oggetto che funge da semaforo se main va in wait sul semaforo il listener lo può risvegliare notificando il medesimo.

Spero che sia stato chiaro... Non ho ancora moltissima esperienza in Java.
Quando la tigre ruggisce, si alzano forti venti; quando il drago grida, si addensano le nubi. Il verso della lepre o il raglio dell'asino invece non hanno alcun effetto sul vento e sulle nubi.
Avatar utente
The Elter

Veterano
 
Messaggi: 161
Iscritto il: lun set 22, 2003 10:41 am
Località: Firenze

Messaggioda kristo » gio apr 29, 2004 9:59 am

Grazie, avevo già letto il tutorial che hai indicato(proprio ieri). Effettivamente funziona come hai detto tu. Un thread può "addormentarsi" chiamando wait su un "monitor", e viene risvegliato quando un altro thread invoca notify o notifyAll sullo stesso. Non ho ancora fatto la prova col listener. Ti faccio sapere come va a finire.
ciao ciao !!

Home:cristianolongo.altervista.org
e-mail:[email protected]
kristo

Esperto
 
Messaggi: 56
Iscritto il: mar set 23, 2003 9:31 am
Località: Catania


Torna a Tecnologia, internet, coding

Chi c’è in linea

Visitano il forum: Nessuno e 5 ospiti