タイトルが示すように、スレッドと非ブロッキング同期を操作するときに知っておくべきコンパイラ、CLR、またはCPUの最適化は何ですか?
物事を壊す可能性のある効率を改善するための命令の並べ替え、および変数が他のスレッドにすぐに表示されないようにするキャッシュの最適化について少し読みました[0]が、他に(確かにあります)知っておく必要がありますか?
おすすめの読書/ブログ/記事などへのリンクは大歓迎です。
ありがとう、エギル。
更新:ジョー・ダフィーのブログ投稿へのジョンズのリンクのおかげで、私はあなたたちと共有すると思ったもっとたくさんの素晴らしい情報を見つけました:
- 多くの人が指摘する主な記事は、VanceMorrisonによるマルチスレッドアプリのローロック技術の影響を理解することです。
- 同じくVanceMorrisonによる、すべての開発者がマルチスレッドアプリについて知っておくべきことは、毎日マルチスレッドアプリケーションに手を出さない私たちにとって非常に新鮮です。
- JoeDuffyの9つの再利用可能な並列データ構造とアルゴリズムも素晴らしい読み物です。
- ジェフリー・リッチターのConcurrentAffairsコラムのPerformance-ConsciousThreadSynchronizationの同じことの詳細。SpinWaitLockの彼の実装はかなり素晴らしいです。
- 一般に、MSDNMagazineのConcurrencyAffairsコラムをお勧めします。