.NET GCの3世代にファイナライザキューがありますか、それとも2世代だけには存在しますか?私は、第2世代だけがファイナライザキューとf-reachableキューを持っていると仮定しています。3つのガベージコレクションの世代すべてに.NETのファイナライザキューがありますか?
3
A
答えて
5
キューが1つあります。あなたはSOSでそれを見ることができます:http://blogs.msdn.com/b/tess/archive/2007/10/19/net-finalizer-memory-leak-debugging-with-sos-dll-in-visual-studio.aspx
+0
感謝している場合は、C# – veena
2
これは説明が難しいですが、実際のCLRコードは.NETの文献にある説明とよく似ておらず、かなり畳み込まれています。 CLR内には、「finalization_queue」という名前の論理構造が1つあります。ただし、生成可能なオブジェクトを世代別に編成する内部構造を持っています。
これを表示するには、より良い方法があります。仮定が正しいとすれば、ジェネレーション#0の収集後にオブジェクトをファイナライズする方法はありません。それを試してみてください。
using System;
class Program {
static void Main(string[] args) {
var obj = new Test();
obj = null;
Console.WriteLine("before gen#0 collection");
GC.Collect(0);
GC.WaitForPendingFinalizers();
Console.WriteLine("after gen#0 collection");
Console.ReadLine();
}
}
class Test {
~Test() { Console.WriteLine("finalized"); }
}
関連する問題
- 1. .NETのガベージコレクションの世代
- 2. 私は唯一の代わりに、3つのすべての
- 3. MVC 3世代のURL
- 4. 若い世代のJavaガベージコレクションはどのような場合に最後になりますか?
- 5. PHPにガベージコレクションがありますか?
- 6. WinRTにガベージコレクションがありますか?
- 7. Conwayの生命のゲーム:第2世代から第3世代への更新
- 8. .NETディレクトリ内のすべてのフォルダにファイルがあります
- 9. PloehのAutoFixture for .NETに代わるJavaがありますか?
- 10. .NetにDrupalの代替手段がありますか?
- 11. .NETの世界にはどのようなOSソフトウェアがありませんか?
- 12. UILabelが第3世代iPodと第4世代iPodで異なって表示されています
- 13. .NET世界のフロントエンド開発者 - 何を知る必要がありますか?
- 14. なぜC#のガベージコレクタの世代は?なぜ私たちは世代が1つしかないのですか?
- 15. 第3世代オブジェクトとラージオブジェクトヒープの違い
- 16. gcc 4.8.1にガベージコレクションのC++ 11サポートがありますか?
- 17. PyS60には信頼性の高いガベージコレクションがありますか?
- 18. Rails:同じ世代のすべての子供を見つけよう
- 19. edenと他の世代のJavaヒープ割り当てがガベージコレクションとパフォーマンスにどのように影響しますか?
- 20. ガベージコレクションの通知がありません
- 21. すべてのXMLノード世代をJava DOMで反復する
- 22. JavaのRedDwarfネットワーキングソリューションの.NET代替手段はありますか?
- 23. C++世界にスレッド固有のクロックがありますか?
- 24. sqlalchemyのエンジンURLに3つのスラッシュ(sqlite)がありますか?
- 25. 1つのアクティビティに3つのフラグメントがあります
- 26. 1つのアクティビティに3つのRecyclerViewがあります。
- 27. Javaの世界で可変長のマップがありますか?
- 28. .Net 4 Code Contractsスタティックアナライザーの代替品はありますか?
- 29. オブジェクトが若い世代から旧世代に移動する原因
- 30. rakeタスクの代わりに3つのレールが生成されますか?
FYI、質問はあなたが、それは非常に有用だった記事のために満足して –
Plsのは、答えのいずれかを受け入れるとは何の関係もありません。それは私がプロファイラなしでメモリの問題をチェックすることができるsos.dllに私を紹介しました。再度、感謝します。 –