LINUX.ORG.RU

История изменений

Исправление Deleted, (текущая версия) :

нет. В с++2003, формально, нужно было делать и volatile и mutex. В с++11 - только mutex, без всяких формальностей. Раньше работало без volatile - потому, что таковы самые распространенные реализации. Мютекс лок/анлок для доступа на чтение и на запись - в общем случае нужен всегда, это даже не обсуждается.

Я это все пишу к тому, что не нужно заморачиваться какими-то странными «оптимизациями», доступ к общим данным нужно писать сразу с мутексом, а на старом стандарте (и если особо педантично подходить) - еще и с volatile.

Исходная версия Deleted, :

нет. В с++2003, формально, нужно было делать и volatile и mutex. В с++11 - только mutex, без всяких формальностей. Раньше работало без volatile - потому что такова реализация. Мютекс для доступа на чтение и на запись - НУЖЕН всегда, это как бы даже не обсуждается.