Che cosa sono i thread in Java?


Multithreading e Multitasking

Un programma multithread contiene due o più parti che possono essere eseguite contemporaneamente. Ogni parte di un programma di questo tipo viene definita thread e ogni thread definisce un percorso separato di esecuzione. Ne consegue che il multithreading è una forma specializzata di multitasking.

Utilizzo dei Processori Multi-Core

I processori multi-core sono stati progettati per eseguire più programmi o applicazioni ottimizzate per sfruttare i thread contemporaneamente.

Conteggio dei Core e dei Thread

Il conteggio dei core è il numero fisico dei core sulla CPU stessa, mentre il conteggio dei thread è il numero di thread delle singole applicazioni che possono essere eseguiti simultaneamente sulla CPU stessa. Alcuni processori, tuttavia, avranno più thread di quanti ne abbiano i core.

Processi Leggeri e PCB

I thread sono detti processi leggeri perché sono simili a processi reali ma vengono eseguiti nel contesto di un processo e condividono le stesse risorse assegnate al processo dal kernel. Il PCB contiene tutte le informazioni relative al processo.

Concetto di Concorrenza in un Algoritmo

In informatica la concorrenza è una caratteristica dei sistemi di elaborazione nei quali un insieme di processi o sottoprocessi (thread) computazionali è in esecuzione nello stesso istante.

Lascia un commento