0

win32 の連動関数は、データに対するアトミック操作のメカニズムを提供します。それらは、スレッドセーフでマルチプロセッサセーフであると想定されています。

データが整列されていない場合はどうなりますか? 連動操作はまだアトミックですか?例: アラインされていない整数のインクリメント。

タイ

4

1 に答える 1

1

Interlocked API 関数のほとんどを読んだ場合、次の行に沿って何かを指定するコメントがあります。

「Addend パラメーターが指す変数は、32 ビット境界に整列する必要があります。そうしないと、この関数はマルチプロセッサー x86 システムおよび非 x86 システムで予期しない動作をします。_aligned_malloc を参照してください。」

例については、このMSDN docを参照してください。

これは基本的に、_aligned_malloc を使用して、適切な結果を得るためにデータを整列する必要があることを示しています。

于 2009-06-01T19:58:17.760 に答える