Ciao a tutti. ho dei dubbi su alcuni metodi synchronized.
le mie classi sono strutturate cosi:
Classe1 extends Thread{
main{
Vector<Train> x = new Vector<Train>();
Classe2 t = new Classe2(x);
t.start();
metodo(x);
}
synchronized metodo(Vector<Train> x){
//cose
}
}
Classe1 extends Thread{
Vector<Train> db;
//costruttore
Classe2 (Vector<Train> ){
db.x;
}
synchronized metodo(Vector<Train> x){
//cose
}
}
Praticamente la classe1 crea alcuni Thread di classe2 passando come input il vettore.
la classe1 ha diversi metodi synchronized per evitare che il vettore sia aggiornato da diversi thread, cosi come la classe 2.
Ora la mia domanda e': il vettore di Train, a sincronizzato:
all'interno della classe1?
all'interno della classe2?
tra le due classi?
La classe 1 viene runnata in una sola istanza che a sua volta ne runna diverse di classe2.
Grazie per le risposte, spero di essere stato chiaro.

Rispondi quotando