Thread di esecuzione

Thread di esecuzione

Un thread o thread di esecuzione, in informatica, è una suddivisione di un processo in due o più filoni o sottoprocessi che vengono eseguiti concorrentemente da un sistema di elaborazione monoprocessore (multithreading) o multiprocessore o multicore.

Applicazioni tipiche dei thread sono la parallelizzazione di un programma per sfruttare i moderni processori multi core: infatti un singolo thread può essere eseguito su un solo core per volta.

Nelle interfacce utente i thread sono usati estensivamente per evitare di congelare l’interfaccia quando il programma sta eseguendo un altro compito in background. Per esempio un browser Web può scorrere una pagina web anche se il suo caricamento non è completato; allo stesso modo i controlli di un lettore multimediale sono accessibili anche mentre il lettore sta riproducendo un filmato.

Il vantaggio principale dei Thread è nelle prestazioni: operazioni come creazione, terminazione e cambio tra due thread di un processo richiedono meno tempo rispetto alla creazione, terminazione e cambio di processi.

I thread migliorano anche l’efficienza della comunicazione fra i programmi in esecuzione. Nella maggior parte dei sistemi operativi, la comunicazione fra processi indipendenti richiede l’intervento del kernel per fornire un meccanismo di protezione e di comunicazione. Invece i thread, dato che all’interno di uno stesso processo condividono memoria e file, possono comunicare fra loro senza chiamare il kernel.

Lascia un commento

Il tuo indirizzo email non sarà pubblicato. I campi obbligatori sono contrassegnati *