Futex
Il lock che costa zero quando nessuno se lo contende — fast userspace mutex, il mattone alla base della sincronizzazione dei thread in Linux.
I lock classici passavano sempre dal kernel, anche quando erano liberi, con il costo di una chiamata di sistema a ogni acquisizione. Il futex sposta il caso comune nello spazio utente: per prendere un lock non conteso basta un'operazione atomica su un intero condiviso, senza coinvolgere il kernel.
Solo quando qualcuno deve davvero attendere viene invocata futex(), che mette il thread a dormire fino al risveglio. Poiché nel codice scritto bene la contesa è rara, il percorso veloce è quasi sempre quello seguito. Ogni mutex e variabile di condizione di glibc poggia su questo meccanismo, e la maggior parte dei programmatori non incontra mai la chiamata direttamente.