5

ロックフリーのアトミックスワップ機能を提供する無料の移植可能な(Windows、GNU/Linux & MacOSX) ライブラリはありますか?

そうでない場合、これらの各プラットフォームにどのように実装しますか? (VC++ または g++ を使用する x86)

ありがとう

4

3 に答える 3

2

Boostのレビュー待ちのロックフリーライブラリがあります。また、ブーストスマートポインタライブラリのソースを掘り下げると、複数のプラットフォーム用にインライン化されたアトミック操作が見つかります。もう1つ-IntelThreadingBuildingBlocksにはテンプレートの実装があります。atomic<>

于 2010-02-23T14:31:44.237 に答える
1

何を交換したいかによります。x86のアセンブラーでは、「ほぼ」アトミックxorスワップを取得できる可能性があります。そうでない場合は、ロックを使用するソリューションを使用します。これは、Win32 / {Linux、Darwin}では異なります。

ライブラリをお探しの場合は、APR(Apache Portable Runtime)をご覧ください-http://apr.apache.org/

于 2010-02-23T14:19:01.003 に答える
1

Boostには、ポータブルな方法でロックフリー操作を容易にするための一連のマクロがあります。

于 2010-02-23T14:50:43.113 に答える