Visualizzazione dei risultati da 1 a 3 su 3
  1. #1

    thread e visibilità di variabili di classe

    salve, sono agli inizi con Java e ho un dubbio amletico... cerco di farla semplice:

    sto scrivendo un progetto per l'università, e vi sono numerosi thread di oggetti diversi.. non mi capacito di come posso far condividere qualcosa a questi therad (insomma.. più thread devono usare una struttura dati)

    thread dello stesso oggetto condividono le variabili statiche
    oggetti diversi possono accedere l'uno alle variabili dell'altro mediante metodi appositi...

    ma thread di oggetti diversi come fanno?

    esempio:

    codice:
    public class Prova
    {
      String testo;
      public static void main()
      {
        Prova2 p = new Prova2();
        new thread(p).start()
      }
    
    }
    
    
    class Prova2 implements Runnable
    {
        public void run()
       { 
        //se qui voglio modificare testo non posso...
       }
    }

  2. #2
    Utente di HTML.it
    Registrato dal
    Aug 2002
    Messaggi
    8,013
    Non è che stai organizzando in maniera un po' arzigogolata il tuo progetto?

    Il thread p lo fai partire in Prova, perché non prevedi semplicemente un metodo in Prova2 che accetti uno String come parametro e faccia le cose del caso?

    Occhio all'accesso a risorse condivise da più thread, che possono generare delle inconsistenze...

    http://java.sun.com/docs/books/tutor...ency/sync.html
    <´¯)(¯`¤._)(¯`»ANDREA«´¯)(_.¤´¯)(¯`>
    "The answer to your question is: welcome to tomorrow"

  3. #3
    grazie, poi alla fine ho visto che avrei risolto passando this al nuovo thread ^_^

    Ma poi rielaborando l'inteero progetto non c'è stato neanche bisogno... nell'esempio si trattava di una stringa, e avendo fatto test con la stringa mi trovavo na cpia della stringa nella seconda classe, mentre in realtà a me serviva passar eun struttura dati.. e la cosa erabanale, solo che per come avevo organizzato il progetto fino a quel momento la cosa mi generava confusione.

    Alla fine ho revisionato tutto il progetto e ha funzionato tutto. Quanto all'organizzazione: essendo la primissima volta che scrivo in Java (e a oggetti) anche io avevo qualche dubbio, ma credo sia inevitabile avere una gerarchia di oggetti lanciati in thread visto che alcuni svolgono funzioni specifiche e altri hanno chiamate bloccanti

    quanto alla gestione della concorrenza, no problema.. già affrontata con il C.. in Java è una passeggiata

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.