|
|||||||
|
|
|
![]() |
|
|
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: 06:50.



















