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