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.

Vuoi lavorare nel mondo tech?
Hai una passione per l’informatica o vuoi cambiare lavoro partendo da zero?
Entra in bitCamp, l’unico camp online per diventare Java Developer in 8 settimane attraverso l’applicazione del Sistema bitCamp, un metodo che combina il profilo di sviluppatore web richiesto dalle aziende alle nozioni teoriche e pratiche necessarie per entrare subito nel mondo del lavoro.