Visualizzazione dei risultati da 1 a 2 su 2
  1. #1
    Utente di HTML.it
    Registrato dal
    Jan 2005
    Messaggi
    3

    Aiuto su metodi synchronized

    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.
    NuKe

  2. #2
    Utente di HTML.it
    Registrato dal
    Jan 2005
    Messaggi
    3
    ho inserito la variabile x globale nella classe e definita dal costruttore
    ora il codice e' simile a questo
    codice:
    Classe1 extends Thread{
    main{
    Vector<Train> x = new Vector<Train>();
    Classe2 t = new Classe2(x);
    t.start();
    metodo(x);
    } 
    metodo(Vector<Train> x){
    synchronized(x){
    //cose
    }
    }
    }
    
    Classe2 extends Thread{
    Vector<Train> db;
    
    //costruttore
    Classe2 (Vector<Train> x){
    db = x;
    } 
    metodox(){
    synchronized(db){
    //cose
    }
    }
    }
    grazie a chi mi risponde
    NuKe

Permessi di invio

  • Non puoi inserire discussioni
  • Non puoi inserire repliche
  • Non puoi inserire allegati
  • Non puoi modificare i tuoi messaggi
  •  
Powered by vBulletin® Version 4.2.1
Copyright © 2025 vBulletin Solutions, Inc. All rights reserved.