L'esempio è una rivisitazione del classico problema dei lettori/scrittori. In questo caso si hanno due thread scrittori (scrittore1 e scrittore2) che ciclicamente scrivono una stringa in un buffer condiviso, aspettando un certo tempo fra una scrittura e l'altra, e un thread lettore che si deve sincronizzare con l'istante di fine scrittura sul buffer e quindi stampare la stringa risultante. L'esempio è congegnato in modo che un thread scrittore non può riscrivere i dati del buffer se prima il thread lettore non ne ha fatto al relativa stampa a video.
Si noti come, visto che l'unico strumento che abbiamo è la mutua eclusione, la sincronizzazione sulla condizione di 'fine scrittura stringa' può essere fatta solamemente tramite un polling.
Un'altra cosa da notare è che l'inizializzazione della struttura mutex è fatta in modo statico uguagliandola a una macro.