Обычное std::mutex
ожидается несправедливым, хотя стандарт не определяет его.
Справедливый мьютекс может быть построен поверх нечестных mutex
и condition_variable
. См. Этот ответ, например:
Реализация мьютекса FIFO в pthreads
Почему стандарт C ++ не предоставляет его "из коробки"?