win32 の連動関数は、データに対するアトミック操作のメカニズムを提供します。それらは、スレッドセーフでマルチプロセッサセーフであると想定されています。
データが整列されていない場合はどうなりますか? 連動操作はまだアトミックですか?例: アラインされていない整数のインクリメント。
タイ
win32 の連動関数は、データに対するアトミック操作のメカニズムを提供します。それらは、スレッドセーフでマルチプロセッサセーフであると想定されています。
データが整列されていない場合はどうなりますか? 連動操作はまだアトミックですか?例: アラインされていない整数のインクリメント。
タイ
Interlocked API 関数のほとんどを読んだ場合、次の行に沿って何かを指定するコメントがあります。
「Addend パラメーターが指す変数は、32 ビット境界に整列する必要があります。そうしないと、この関数はマルチプロセッサー x86 システムおよび非 x86 システムで予期しない動作をします。_aligned_malloc を参照してください。」
例については、このMSDN docを参照してください。
これは基本的に、_aligned_malloc を使用して、適切な結果を得るためにデータを整列する必要があることを示しています。