Futex
Das Schloss, das nichts kostet, solange niemand darum streitet — fast userspace mutex, der Baustein hinter der Thread-Synchronisation unter Linux.
Klassische Locks liefen immer über den Kernel, selbst wenn das Lock frei war, was jedes Mal einen Systemaufruf kostete. Futex verlagert den Normalfall in den Userspace: Eine atomare Operation auf einer geteilten Ganzzahlvariable genügt, um ein freies Lock zu belegen — ganz ohne den Kernel einzubeziehen.
Nur wenn tatsächlich jemand warten muss, wird der Aufruf futex() gemacht, der den Thread schlafen legt, bis er geweckt wird. Da Konkurrenz um Locks in gut geschriebenem Code selten ist, wird fast immer der schnelle Pfad genommen. Sämtliche Mutexe und Bedingungsvariablen in glibc bauen darauf auf, und die meisten Programmierer begegnen dem Aufruf nie direkt.