Back to tasksGet help with live coding in real time with Sobes Copilot
Junior — Senior
55
Анализ безопасности блокировок в функции с двумя mutex
Task condition
Провести ревью функции calculation, в которой задействованы два объекта std::mutex.
- Оценить, насколько корректно выполнена синхронизация.
- Выявить риск взаимоблокировки (deadlock).
- Предложить надёжный способ одновременного захвата нескольких мьютексов.
void calculation(std::mutex& mxA, std::mutex& mxB, const std::vector<int>& input) {
std::lock_guard<std::mutex> lock1(mxA);
std::lock_guard<std::mutex> lock2(mxB);
// расчёт данных
}