Для корректной атомарной блокировки двух мьютексов используется функция std::lock
. Она гарантирует, что либо оба мьютекса будут успешно заблокированы, либо ни один из них.
Алгоритм std::lock
следующий:
Это предотвращает взаимные блокировки (deadlock), которые могли бы возникнуть при последовательной блокировке вручную:
cpp
Для корректной атомарной блокировки двух мьютексов используется функция std::lock
. Она гарантирует, что либо оба мьютекса будут успешно заблокированы, либо ни один из них.
Алгоритм std::lock
следующий:
Это предотвращает взаимные блокировки (deadlock), которые могли бы возникнуть при последовательной блокировке вручную:
cpp
Зарегистрируйтесь или войдите, чтобы получить доступ к полным ответам на все вопросы из банка вопросов.