|
|
|
![]() |
|
Strumenti |
![]() |
#1 | |
Junior Member
Iscritto dal: Jan 2010
Messaggi: 8
|
[Java] Thread
Salve ragazzi, guardate questo codice,
Codice:
class MioThread extends Thread { private int mio; private int succ; private MioThread [] vect; boolean attivo; MioThread(int num,int succ) { mio=num; if (mio==0) attivo =true; this.succ=succ; } public void setArray(MioThread [] ar) { vect=ar; } public synchronized void vai() { attivo=true; notify(); } public synchronized void run() { try{ while(this.attivo==false) wait(); System.out.println("MioThread" + mio); if (succ!=-1){ vect[succ].vai();}#vett[succ].attivo=true; notifyAll(); } catch(InterruptedException e){} } } Per maggiori info questo è il testo completo: Quote:
|
|
![]() |
![]() |
![]() |
#2 |
Senior Member
Iscritto dal: Mar 2007
Messaggi: 7863
|
perchè nel tuo caso utilizzi il lock legato al thread corrente, mentre chiamando il metodo vai(), la sincronizzazione avviene sull' thread corretto.
|
![]() |
![]() |
![]() |
Strumenti | |
|
|
Tutti gli orari sono GMT +1. Ora sono le: 15:00.