Refer to 'futexes are tricky', which shows how to build a mutex with a futex—<https://www.akkadia.org/drepper/futex.pdf>—windows futexes are named WaitOnAddress, WakeByAddressSingle, and WakeByAddressAll.
(That said, I think I heard somewhere that windows mutexes are decent now?)
(That said, I think I heard somewhere that windows mutexes are decent now?)