ロックフリーのアトミックスワップ機能を提供する無料の移植可能な(Windows、GNU/Linux & MacOSX) ライブラリはありますか?
そうでない場合、これらの各プラットフォームにどのように実装しますか? (VC++ または g++ を使用する x86)
ありがとう
ロックフリーのアトミックスワップ機能を提供する無料の移植可能な(Windows、GNU/Linux & MacOSX) ライブラリはありますか?
そうでない場合、これらの各プラットフォームにどのように実装しますか? (VC++ または g++ を使用する x86)
ありがとう
Boostのレビュー待ちのロックフリーライブラリがあります。また、ブーストスマートポインタライブラリのソースを掘り下げると、複数のプラットフォーム用にインライン化されたアトミック操作が見つかります。もう1つ-IntelThreadingBuildingBlocksにはテンプレートの実装があります。atomic<>
何を交換したいかによります。x86のアセンブラーでは、「ほぼ」アトミックxorスワップを取得できる可能性があります。そうでない場合は、ロックを使用するソリューションを使用します。これは、Win32 / {Linux、Darwin}では異なります。
ライブラリをお探しの場合は、APR(Apache Portable Runtime)をご覧ください-http://apr.apache.org/
Boostには、ポータブルな方法でロックフリー操作を容易にするための一連のマクロがあります。