декремент и сравнение std :: atomic

В следующем коде:

std::atomic<int> myint; //Shared variable
//(...)
if( --myint == 0) {
    //Code block B
}

Возможно ли, что более одного потока обращаются к блоку, который я назвал« Блок кода B »?

Учтите, что переполнение не произойдет. случается, что if выполняется одновременно более чем одним потоком, что единственной модификацией myint во всей программе является - myint внутри if и that myint инициализируется положительным значением.

20
задан R. Martinho Fernandes 27 October 2011 в 05:14
поделиться