Есть ли в наличии бесплатная портативная (Windows, GNU / Linux & MacOSX) библиотека, обеспечивающая функция атомной замены без блокировки ?
Если нет, то как бы это было реализовано для каждой из этих платформ? (x86 с VC ++ или g ++)
Спасибо
Есть библиотека без блокировки , ожидающая рассмотрения в boost . Кроме того, если вы покопаетесь в библиотеке boost smart pointers , вы найдете атомарные операции для нескольких платформ. Еще один - Intel Threading Building Blocks имеет реализацию шаблона atomic<>.
atomic<>
Boost имеет набор макросов для упрощения операций без блокировки в переносном режиме.
Зависит от того, что вы хотите поменять. В ассемблере для x86 вы можете получить «почти» атомарный своп xor, иначе я бы выбрал какое-то решение, использующее блокировку, которое будет отличаться в Win32 / {Linux, Darwin}.
Если вы ищете библиотеку, взгляните на APR (Apache Portable Runtime) - http://apr.apache.org/