2010-12-21 7 views
1

Visual Studio 2010でソフトウェアの並行性プロファイルを実行し、ロック内にないコード行にいくつかの競合が検出されました。配列を作成するための新しい操作、またはスレッドローカルDynamicMethod.Invoke呼び出しと言ってください。いくつかの競合は単純な割り当てにあります。なぜ私のコードでロックされているべきではないので、これらの行が意図を引き起こすのか理解できませんでした。なぜロックされていない場所に競合があるのですか?

誰もが同様の問題を経験しましたか? VS2010同時実行プロファイラで表示される競合はすべて、ロックを待つか、ミューテックスセクションに入ることによって引き起こされるはずです。ありがとう。

+0

プロファイリングの後、私はいくつかの競合呼び出しスタックがzzz_AsmCodeRange_Beginという名前の関数で終了することがわかりました。これはCLR関数でなければなりません。誰でもこの関数が何を意味しているのか、そして競合コールスタックがここで終わる理由は分かっていますか? – Steve

答えて

0

ダイナミックメソッドを追加すると、両方ともメモリが割り当てられるため、アロケータで競合する可能性はありますか?もちろん、それは割り当て行を説明していません...

関連する問題