Может кто-нибудь поможет мне понять, как заблокировать переменные в c ++ в самом простом примере, делая вид, что мне нужно заблокировать 2 переменные в функции или потоке
Дано:
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
}
Это освободит замок на }
автоматически.
Если вы хотите убедиться, что блокировка получена до обращения к рассматриваемым переменным, вам придется написать оболочку.