私は.Net4.5を使用しています(プレビュー... 4はこの質問の目的には問題ありません)。私は糸脱毛の仕事をしています。
私の調査によると、x86 CPUには強力なメモリモデルがあり、書き込みが並べ替えられないことを意味します。これにより、ロックを安全に解放できます。これは、メモリモデルが弱いItaniumCPUには当てはまりません。
揮発性、メモリバリア、および実行の並べ替えの原則を理解しています。
理想的には、CPUがItaniumの場合はキーポイントにメモリバリアを挿入しますが、x86の場合は挿入しません。JITが処理するランタイムコンパイラ指令のように、これを動的に行うことは可能ですか?
そうでない場合は、2つのプラットフォーム用に別々のビルドが必要になることに気付きました。その場合、2セットのC#ファイルを使用せずに、ターゲットを変更するだけでこれを行うための最も洗練された方法は何ですか?