Java/Multithreading: differenze tra le versioni
Creazione della pagina |
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 '' |
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 |
|||
{ 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(); |
|||
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: |
||
<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
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();