Programmi multithread

Un thread è fondamentalmente un percorso di esecuzione all'interno di un programmae rappresenta l'unità di esecuzione minima prevista in Win32.Un thread è composto da uno stack, dallo stato dei registri della CPU e da una voce dell'elenco di esecuzione dell'utilità di pianificazione di sistema.Ogni thread condivide tutte le risorse del processo.

Un processo è costituito da uno o più thread, dal codice, dai dati e dalle altre risorse di un programma in memoria.File aperti, semafori e memoria assegnata in modo dinamico sono tipiche risorse di programma.L'esecuzione di un programma avviene quando il controllo dell'esecuzione viene assegnato a uno dei thread dell'utilità di pianificazione di sistema.L'utilità di pianificazione determina quali thread devono essere eseguiti e quando.È possibile che i thread con priorità più bassa debbano attendere che quelli con priorità più alta completino le proprie attività.Su computer multiprocessore, l'utilità di pianificazione è in grado di spostare i vari thread su processori diversi, in modo da bilanciare il carico della CPU.

Ogni thread di un processo opera in modo indipendente.A meno che non li si renda reciprocamente visibili, i thread vengono eseguiti singolarmente, in modo indipendente rispetto agli altri thread del processo.È necessario tuttavia coordinare l'esecuzione dei thread che condividono risorse comuni tramite semafori o altri metodi di comunicazione tra i processi.Per ulteriori informazioni sulla sincronizzazione dei thread, vedere Scrittura di un programma multithread Win32.

Vedere anche

Concetti

Multithreading con C e Win32