1

これは主にデスクトップアプリケーション開発者を対象としています。
GCとうまく連携するキャッシングブロックを設計するにはどうすればよいですか?
キャッシュスイープを実行したばかりで、GCを実行するときが来たことをGCに通知するにはどうすればよいですか。
キャッシュスイープを実行する時期を正確に測定するにはどうすればよいですか?

いくつかのアイデアを借りることができる構築済みのキャッシュスキームはありますか?

4

2 に答える 2

1

私は明らかにあなたのアプリケーションの詳細について話すことはできませんが、ほとんどの場合、GCがどのように機能するかについての認識された期待にキャッシング実装を結び付けるべきではありません。Stuが言及しているように、GC.Collect()を呼び出すと、コレクションが強制されます(特定の世代のオーバーロードがあります)が、そうしないと、GCにそれ自体を管理させるよりもパフォーマンスが低下することがよくあります。

(実際のパフォーマンステストを行った後)GCと対話する必要があることがわかった場合は、フレームワークに現在あるさまざまなタイプのGCを考慮に入れてください(詳細については、ここを参照してください)。

于 2008-08-22T19:44:11.367 に答える
1

あなたが知る必要があるすべて(そしていくつか):

http://msdn.microsoft.com/en-us/library/ee817645.aspx

ああ、GC.Collect()は収集を強制します。

于 2008-08-22T19:09:13.417 に答える