Производительность try_lock
на данном мьютексе тесно связана с реализацией lock
.Если для блокировки мьютекса всегда требуется системный вызов, то try_lock
, скорее всего, также потребует системного вызова.С другой стороны, если lock
имеет «быстрый путь», который выполняется в пространстве пользователя без системного вызова, то try_lock
, скорее всего, будет иметь реализацию, аналогичную этому «быстрому пути».Фактически, общая реализация lock
в основном if(!try_lock()) lock_with_system_call()
.