многопоточность — Как получить блокировку в C ++?

Может кто-нибудь поможет мне понять, как заблокировать переменные в c ++ в самом простом примере, делая вид, что мне нужно заблокировать 2 переменные в функции или потоке

-3

Решение

Дано:

int a;
int b;
std::mutex mutex;

Просто делать:

{
std::lock_guard<decltype(mutex)> lock(mutex);
++a; // or whatever you wanna do to a
b += a; // or whatever you wanna do to b
}

Это освободит замок на } автоматически.

Если вы хотите убедиться, что блокировка получена до обращения к рассматриваемым переменным, вам придется написать оболочку.

4

Другие решения


По вопросам рекламы [email protected]