Categorie
Glossario

Critical Section

Una critical section è un pezzo di codice in cui deve essere garantito che non ci sarà mai più di un thread contemporaneamente.

In informatica, una critical section è un pezzo di codice in cui deve essere garantito che non ci sarà mai più di un thread contemporaneamente. È necessario utilizzare le critical section quando è possibile accedere a risorse condivise da più thread .

Quando flussi diversi accedono a una risorsa comune in tempi diversi, ognuno di essi può completare la propria operazione, di lettura o di scrittura, senza essere confuso dagli altri. Se questa condizione vale sempre per una certa risorsa, allora si dice che la lettura e la scrittura su quella risorsa sono operazioni atomiche: ogni flusso può intervenire solo prima o dopo che l’altro abbia completato la propria operazione, e non può interromperla.

Consideriamo due thread che desiderano incrementare lo stesso contatore. L’incremento deve essere protetto da una critical section. In effetti, l’incremento di una variabile non è necessariamente un’operazione atomica. Si po’ tradurre l’incremento di una variabile in un codice assembly.

Hai una passione per l’informatica o vuoi cambiare lavoro partendo da zero?
Entra in bitCamp: l'unico campus 100% online che con la guida di docenti programmatori ti forma per diventare la figura più ricercata dalle aziende in Italia.