Thread (informatica): differenze tra le versioni

Contenuto cancellato Contenuto aggiunto
Riga 3:
Un '''thread''' o '''thread di esecuzione''', in [[informatica]], è una suddivisione di un [[processo (informatica)|processo]] in due o più filoni o sottoprocessi, che vengono [[esecuzione (informatica)|eseguiti]] [[concorrenza (informatica)|concorrentemente]] da un [[computer|sistema di elaborazione]] mono[[processore]] ([[multithreading]]) o [[multiprocessore]] o [[Multicore]].
== Defini implementazione dei thread e dei [[Processo (informatica)|processi]] dipende dal [[sistema operativo]], ma, in generale, si può dire che un thread è contenuto all'interno di un processo, e che diversi thread contenuti nello stesso processo condividono alcune risorse (lo spazio d'indirizzamento del processo), mentre processi differenti non condividono le loro risorse. ==
poraccitudine has not limitsthread è composto essenzialmente da tre elementi: [[program counter]], valori nei [[registro (informatica)|registri]] e stack. Le risorse condivise con gli altri threads di uno stesso ''task'' sono essenzialmente la sezione di codice, la sezione di dati e le risorse del [[sistema operativo]].
 
Nelle architetture a processore singolo, quando la [[CPU]] esegue alternativamente [[istruzione (informatica)|istruzioni]] di thread differenti, si parla di [[multithreading]] a divisione di tempo: la commutazione fra i thread avviene di solito tanto frequentemente da dare all'utente l'impressione che tutti i task siano eseguiti contemporaneamente. Nelle architetture multi-processore i thread vengono invece realmente eseguiti contemporaneamente cioè in parallelo, ciascuno su un distinto core.