Реализация мьютекса в libstdc++
При общении с коллегами возник вопрос, на сколько затратна операция использования std::mutex в libstdc+ В Linux mutex работает через системный вызов futex, который освобождает процессор и добавляет поток в очередь, если мьютекс занят. Futex - это сокращение над Fast userspace mutex. Смысл в том, что перед тем как выполнять дорогостоящее обращение к ядру, выполняется проверка флага с использованием атомарных операций, и только если мьютекс действительно занят, то текущий вызов будет поставлен в очередь, которую предоставляет и обслуживает ядро. Всё что сказано выше - пока просто справочная нформация, которую можно легко загуглить...