Java/Multithreading: differenze tra le versioni

Contenuto cancellato Contenuto aggiunto
Sumail (discussione | contributi)
capitolo rifatto e quasi ultimato
FrescoBot (discussione | contributi)
m Bot: apostrofo dopo l'articolo indeterminativo
Riga 1:
{{java}}
Sorge spesso l'esigenza di fare eseguire al programma più operazioni in parallelo, ossia contemporaneamente. Per esempio si potrebbe voler salvare sul disco un flusso di dati ricevuti da internet mentre si inviano altri dati a un 'altra macchina o si gestisce un' interfaccia grafica.
Poiché il linguaggio, per quanto abbiamo visto finora, viene eseguito una sola istruzione alla volta in maniera lineare, è necessario introdurre una nuova struttura che permetta di "sdoppiare" il flusso di esecuzione del programma per compiere più operazioni simultaneamente. Questa struttura è il '''thread'''.
È bene evidenziare come la [[w:CPU|CPU]], in realtà, esegua comunque una sola operazione alla volta mentre è il [[w:sistema operativo|sistema operativo]] a alternare ciclicamente l'esecuzione dei vari processi così velocemente da far sembrare all'utente che questi stiano venendo eseguiti simultaneamente. Nel caso di un computer dotato di più processori, invece, può esserci effettiva simultaneità ma solo per tanti processi quante sono le CPU.