Чем std::unique_lock отличается от std::lock_guard?

159
24 июля 2018, 01:10

Чем std::unique_lock отличается от std::lock_guard? В каких ситуациях лучше применять один класс, а в каких другой?

Answer 1

lock_guard и unique_lock - почти то же самое. Разница в том, что вы можете заблокировать и разблокировать std :: unique_lock. std :: lock_guard будет заблокирован только один раз при построении и разблокирован при уничтожении.

  • lock_guard: когда объект создан, он пытается получить мьютекс
    (вызывая lock()), а когда объект уничтожен, он автоматически
    освобождает мьютекс (вызывая unlock()).
  • unique_lock: также поддерживает отложенную блокировку, временную блокировку, рекурсивную блокировку и использование условных переменных.

Источник

READ ALSO
Не является приложением Win32

Не является приложением Win32

Такое дело, скомпилировал программу в на релиз x86 решил проверить на старом компьютере выводится сообщение "Не является приложением win32" когда...

166
Не могу получить значение поля при помощи SpEL

Не могу получить значение поля при помощи SpEL

При изучении spring'а решил реализовать пример из книгиСуть такова: есть класс с инициализированными полями

188
Java что располагается внутри фигурных скобок

Java что располагается внутри фигурных скобок

Встретил вот такой интересный участок кода, но ничего не могу про него найти:

217
Не удаляется объект при связи @OneToMany Java Hibernate

Не удаляется объект при связи @OneToMany Java Hibernate

Не могу понять в чем может быть ошибка при удалении

201