Java/Multithreading: differenze tra le versioni

Wikibooks, manuali e libri di testo liberi.
Contenuto cancellato Contenuto aggiunto
Creazione della pagina
 
Ramac (discussione | contributi)
m fix
Riga 1: Riga 1:
{{java}}
I moderni computer sono in grado di eseguire più di una operazione alla volta, ad esempio potete stampare il vostro curriculum mentre controllate la posta o ascoltare musica mentre navigate in Internet. A livello più basso questo si traduce nell'esecuzione simultanea di più funzioni, e ognuna di queste operazioni parallele è detto thread.
I moderni computer sono in grado di eseguire più di una operazione alla volta, ad esempio potete stampare il vostro curriculum mentre controllate la posta o ascoltare musica mentre navigate in Internet. A livello più basso questo si traduce nell'esecuzione simultanea di più funzioni, e ognuna di queste operazioni parallele è detto '''''thread'''''.


Java implementa i ''threads'' come superclassi: è sufficiente derivare la classe dalla superclasse '''Thread''', che definisce un metodo run():
Java implementa i ''thread'' come superclassi: è sufficiente derivare la classe dalla superclasse '''Thread''', che definisce un metodo <tt>run()</tt>:
<source lang="java">
class Processo extends Thread
class Processo extends Thread
{ public void run()
{ public void run()
{ ...
}
{ ...
public int parlami()
}
public int parlami()
{ ...
{ ...
}
}
}
}
</source>
Poi, creare un oggetto di quella classe ed eseguirlo:
Poi, creare un oggetto di quella classe ed eseguirlo:
<source lang="java">
Processo p = new Processo();
Processo p = new Processo();
p.run();
p.run();
</source>
Al contrario del solito, la funzione run ritorna subito, ma il processo (l'oggetto istanziato) resta attivo. Per comunicare con il processo, potete usare la variabile (''handle'', in gergo threadesco) per eseguire uno qualsiasi dei suoi metodi:
Al contrario del solito, la funzione run ritorna subito, ma il processo (l'oggetto istanziato) resta attivo. Per comunicare con il processo, potete usare la variabile (''handle'', in gergo threadesco) per eseguire uno qualsiasi dei suoi metodi:
numeri_vincenti = p.parlami();
<source lang=java>numeri_vincenti = p.parlami();</source>

[[Categoria:java|Threads]]
{{Avanzamento|25%|1 luglio 2009}}
{{Avanzamento|25%|1 luglio 2009}}

Versione delle 19:10, 2 lug 2009

Indice del libro

I moderni computer sono in grado di eseguire più di una operazione alla volta, ad esempio potete stampare il vostro curriculum mentre controllate la posta o ascoltare musica mentre navigate in Internet. A livello più basso questo si traduce nell'esecuzione simultanea di più funzioni, e ognuna di queste operazioni parallele è detto thread.

Java implementa i thread come superclassi: è sufficiente derivare la classe dalla superclasse Thread, che definisce un metodo run():

class Processo extends Thread
{  public void run()
   { ...
   }
   public int parlami()
   { ...
   }
}

Poi, creare un oggetto di quella classe ed eseguirlo:

Processo p = new Processo();
p.run();

Al contrario del solito, la funzione run ritorna subito, ma il processo (l'oggetto istanziato) resta attivo. Per comunicare con il processo, potete usare la variabile (handle, in gergo threadesco) per eseguire uno qualsiasi dei suoi metodi:

numeri_vincenti = p.parlami();