У меня следующий код
int i; //gobal var
Thread1:
{
...
i=some value;
}
Thread2:
{
if (i==2) dosomething();
else dosomethingelse();
i = 4;
}
Я хочу написать его, чтобы он был потокобезопасным без использования объектов синхронизации и стандартным способом C ++.
мои вопросы: как получить переменную для чтения / записи различными потоками без использования синхронизации? мое требование - иметь переменную bool, которая может иметь значение true или false.
Является ли переменная переменной атомной.
Обратите внимание, что я не должен использовать никаких библиотек, таких как TBB, у которых есть атомная переменная.
Причина, по которой мы задаем этот вопрос, мы не хотим брать и выпускать семфоры каждый раз, когда мы обращаемся к переменной в потоке, поскольку эта переменная менялась не очень часто.