Чем std::unique_lock отличается от std::lock_guard? В каких ситуациях лучше применять один класс, а в каких другой?
lock_guard и unique_lock - почти то же самое. Разница в том, что вы можете заблокировать и разблокировать std :: unique_lock. std :: lock_guard будет заблокирован только один раз при построении и разблокирован при уничтожении.
lock()), а когда объект уничтожен, он автоматическиunlock()). Источник
Сборка персонального компьютера от Artline: умный выбор для современных пользователей