vittorio130881
14-01-2015, 11:15
ciao a tutti
sto al punto sui thread.
due domande. ad un certo punto dopo aver fatto notare come creare un thread a partire da un implementazione di Runnable fa vedere il metodo alternativo basato su extend di Thread.
in particolare
public class CounterTrhead extends Thread ........ override di run()
e poi istanzio
CounterThread thread=new CounterThread();
thread.start();
ok mi è chiaro perchè Thread implementa a sua volta Runnable.
quello che non ho capito è ciò che dice dopo ovvero preferire l'implementazione di Runnable per 3 motivi di cui due li ho capito uno no:
"solitamente un oggetto della classe Thread non dovrebbe possedere variabili di istanza private che rappresentano i dati da gestire. quindi il metodo run() nella sottoclasse di thread non potrà accedere, in maniera pulita, a tali dati"
cosa significa?
seconda domanda..... i thread in generale condividono i dati (cosi dice la teoria) ma in cosa consiste questa condivisione di dati? ovvero che se dichiaro e creo un thread dal thread principale, il thread figlio potrà leggere e usare le variabili del thread principale?? mi fate se possibile un esempio?
sto al punto sui thread.
due domande. ad un certo punto dopo aver fatto notare come creare un thread a partire da un implementazione di Runnable fa vedere il metodo alternativo basato su extend di Thread.
in particolare
public class CounterTrhead extends Thread ........ override di run()
e poi istanzio
CounterThread thread=new CounterThread();
thread.start();
ok mi è chiaro perchè Thread implementa a sua volta Runnable.
quello che non ho capito è ciò che dice dopo ovvero preferire l'implementazione di Runnable per 3 motivi di cui due li ho capito uno no:
"solitamente un oggetto della classe Thread non dovrebbe possedere variabili di istanza private che rappresentano i dati da gestire. quindi il metodo run() nella sottoclasse di thread non potrà accedere, in maniera pulita, a tali dati"
cosa significa?
seconda domanda..... i thread in generale condividono i dati (cosi dice la teoria) ma in cosa consiste questa condivisione di dati? ovvero che se dichiaro e creo un thread dal thread principale, il thread figlio potrà leggere e usare le variabili del thread principale?? mi fate se possibile un esempio?