Spinlock

Definizione rapida

Meccanismo di sincronizzazione nel quale un thread attende un lock controllandolo ripetutamente senza sospendersi.

Spiegazione

Con uno spinlock il processore continua a eseguire un breve ciclo finché la risorsa condivisa non diventa disponibile. Questa attesa attiva evita il costo di sospensione e riattivazione, ma consuma tempo di CPU mentre il blocco resta occupato.

Esempio pratico

Due core aggiornano una struttura del kernel; il secondo gira in attesa per pochi istanti finché il primo rilascia lo spinlock.

Spiegazione tecnica

Acquisizione e rilascio richiedono operazioni atomiche e corrette barriere di memoria. È adatto a sezioni critiche brevissime, soprattutto quando il thread non può essere messo a dormire.

Da non confondere con

Non è un mutex sospensivo: se l'attesa può durare, un mutex libera la CPU e risulta generalmente più efficiente.