Перейти к содержимому
Тест · Многопоточность: обзор · урок 5 из 10

Тест — где освободится мьютекс

Где вызов add(-1) освобождает мьютекс m, если вообще освобождает?

C++
#include <mutex>

std::mutex m;
int total = 0;

void add(int x) {
    std::lock_guard<std::mutex> guard(m);
    if (x < 0) {
        return;
    }
    total += x;
}