I uppgift 3b har vi in infört phread_mutex_lock/unlock. Vad trylock gör är att kontrollera ifall en resurs är låst av en annan tråd, denna kontroll görs av en tråd som redan har låst en annan resurs.
Ifall resusrsen som kotrolleras är låst släpper den kontrollerande tråden den resusrs som den låst sedan innan.
På detta sät kan man undvika no preemtion, vilket är fallet i 3b. VI har ingen sådan kontroll i 3a, varvid vi nästan alltid får ut 0.
Det som händer i 3a är att
