次のように指定します。GC.CollectとGC.WaitForPendingFinalizersを呼び出してデッドロックすることはできますか?
GC.Collect(GC.MaxGeneration);
GC.WaitForPendingFinalizers();
GC.Collect(GC.MaxGeneration);
マルチスレッドとガベージコレクションモードを考慮して、WaitForPendingFinalizers
でデッドロックが発生する状況は何ですか?
注:GC.Collect
を呼び出してはいけない理由についての回答はありません。
これは厳密に先験的な質問ですか、実際のデッドロック状況が発生していますか? (トラブルシューティングを行う場合は、ファイナライザメソッドのコードを投稿すると便利です)。 –