Портативный C++ атомарная подкачка (Windows - GNU/Linux - MacOSX)

Там свободно портативная библиотека (Windows, GNU/Linux & MacOSX), обеспечивающая свободную от блокировок атомарную функцию подкачки?

В противном случае, как это было бы реализовано для каждой из этих платформ? (x86 с VC ++ или g ++)

Спасибо

5
задан moala 23 February 2010 в 14:12
поделиться

3 ответа

Зависит от того, что вы хотите поменять местами. В ассемблере для x86 вы могли бы получить "почти" атомарный обмен xor, в противном случае я бы выбрал какое-нибудь решение, использующее блокировку, которая будет отличаться в Win32 / {Linux, Darwin}.

Если вам нужна библиотека, обратите внимание на APR (Apache Portable Runtime) - http://apr.apache.org/

1
ответ дан 15 December 2019 в 00:59
поделиться

Есть библиотека lock-free, ожидающая рассмотрения в boost. Также, если вы покопаетесь в исходниках библиотеки boost smart pointers, вы найдете атомарные операции, встроенные для нескольких платформ. Еще одна - Intel Threading Building Blocks имеет реализацию шаблона atomic<>.

2
ответ дан 15 December 2019 в 00:59
поделиться

Boost имеет набор макросов для облегчения операций без блокировки переносимым способом.

1
ответ дан 15 December 2019 в 00:59
поделиться
Другие вопросы по тегам:

Похожие вопросы: