Google Groups no longer supports new Usenet posts or subscriptions. Historical content remains viewable.
Dismiss

Condition in java e risveglio thread.

5 views
Skip to first unread message

TempestaT400

unread,
Nov 14, 2009, 5:48:04 PM11/14/09
to
Salve a tutti...
Ho cercato un p� in giro per trovare la risposta da solo ma a quanto pare
non ho avuto successo.
Volevo sapere... quanto si mette in wait un thread su una condition, una
volta che viene invocata la singola signal(), viene risvegliato un thread in
particolare o � come nel caso della precedentemente usata notify che prende
un thread a caso nell ReadyQueue?

Ringrazio tutti ed in particolare a chi mi sapr� aiutare.
TempestaT400

sv

unread,
Nov 16, 2009, 3:27:08 AM11/16/09
to

viene risvegliato un thread tra quelli in coda, non necessariamente il
primo che si � accodato. Inoltre un thread potrebbe anche essere
risvegliato senza che qualcuno abbia inviato un notify(), quindi la
condizione � da controllare nuovamente al riveglio del thread.


--
sv.

TempestaT400

unread,
Dec 12, 2009, 6:07:12 PM12/12/09
to
E se utilizzassi un ReentrantLock con politica fair? Dovrebbe risvegliare il
thread che � in coda da pi� tempo giusto?
Sono indeciso se utilizzare la politica fair oppure uno Stack con i thread
in attesa ed aggiungere alle condizioni di risveglio anche che il thread sia
il primo dello Stack...

Voi cosa mi consigliate?

sv

unread,
Dec 14, 2009, 6:12:28 AM12/14/09
to
TempestaT400 wrote:
> E se utilizzassi un ReentrantLock con politica fair? Dovrebbe
> risvegliare il thread che � in coda da pi� tempo giusto?

Si.


> Sono indeciso se utilizzare la politica fair oppure uno Stack con i
> thread in attesa ed aggiungere alle condizioni di risveglio anche che il
> thread sia il primo dello Stack...

dipende da cosa devi fare, tieni presente che se usi uno Stack hai una
politica LIFO e quindi il programma potrebbe soffrire di starvation.


--
sv.

0 new messages