Для корректной атомарной блокировки двух мьютексов используется функция std::lock
. Она гарантирует, что либо оба мьютекса будут успешно заблокированы, либо ни один из них.
Алгоритм std::lock
следующий:
Это предотвращает взаимные блокировки (deadlock), которые могли бы возникнуть при последовательной блокировке вручную:
cpp
Для корректной атомарной блокировки двух мьютексов используется функция std::lock
. Она гарантирует, что либо оба мьютекса будут успешно заблокированы, либо ни один из них.
Алгоритм std::lock
следующий:
Это предотвращает взаимные блокировки (deadlock), которые могли бы возникнуть при последовательной блокировке вручную:
cpp
Register or sign in to get access to full answers for all questions from the question bank.