Domanda Uso Thread Java , metodo wait()

Stato
Discussione chiusa ad ulteriori risposte.

carbos

Utente Emerald
14 Agosto 2010
957
132
122
477
Volevo esercitarmi con Java, ho cercato alcuni eserciziari sul web ed ho trovato questo:
http://www.iet.unipi.it/m.cimino/index_files/publications/javaExe.pdf
Sto cercando dif are il primo esercizio cercando di non copiare... ma ho un dubbio, quando io utilizzo il metodo wait() , mando in pausa il Thread senza farlo terminare, e poi ho bisogno del emtodo notify() per riattivarlo... ma quando io lo mando in pausa in un certo punto nel metodo run() (overloadato estendendo la classe thread) e poi faccio notify, mi riparte da dove si era fermato sempre dentro il metodo run oppure no? E se tipo voglio fare un wait temporaneo (tempo random), basta gestire con il thread principale uno "sleep" che comunque poi invochi il metodo notify?
 
Il thread che chiama altro_thraed.wait() rimane in attesa finché altro_thread non chiama notify(), quando gli arriva il segnale di notify riparte dalla linea immediatamente dopo altro_thread.wait().
Se vuoi fare un wait temporaneo (ovvero: aspetta il segnale di notify, ma se non arriva entro X secondi vai avanti come se ti fosse arrivato) puoi usare wait(millisecondi). Se lo metti a dormire (sleep) non vede la notifica (notify), se gli dici di aspettare invece la vede. Dipende da cosa ti interessa fare.
 
Stato
Discussione chiusa ad ulteriori risposte.