0

これは少し奇妙な質問かもしれません。申し訳ありませんが、スタック オーバーフローは初めてです。

マルチスレッドのビジュアルスタジオ(C#)にアプリケーションがあります。開発マシンは4GBのデュアルコアで、それぞれに2つのスレッドがあるため、実質的に4コアマシンです。

ただし、アプリケーションはストレート デュアル コア マシンで実行されます。何が起こっているのかというと、アプリケーションの実行可能ファイルをビルドしてインストールすると、デッドロックのように見えるものが発生し続けます。どちらかのマシンでデバッグするときに、これを見つけるのは非常に困難です。明らかに、これを止めるのに十分な時間があります。

アプリケーションを特定の数のコアに制限して、展開マシンで何が起こるかを模倣するために、Visual Studio に何らかの方法があるかどうかを調べたいと思います。このようにして、開発マシンに関係なく、開発中のコードがクライアント マシンにインストールされたときに機能することを確認できます。

4

1 に答える 1

1

1 つのコアで 10 個のスレッドを実行できるので、何を達成しようとしているのかわかりません...

コード内で次の状況を探す必要があります。

スレッド A は、スレッド B によってロックされているリソース/ロックを待ってブロックされ、スレッド B は、スレッド A によってロックされているリソース/ロックを待ってブロックされます。

つまり、実行中のスレッドが複数のリソースでロックを取得するシナリオを探します。これが出発点です...

于 2013-07-26T08:26:20.373 に答える