.NET での短期間のガベージ コレクションの防止
大規模なデータを処理する高性能アプリケーションでは、ガベージ コレクション (GC) によって問題が発生する可能性があります。重要な時期の遅れ。この記事では、GC を一時的に一時停止してその影響を最小限に抑えるための戦略について説明します。
プログラム全体で GC を一時停止できますか?
はい、.NET 4.6 では が導入されました。 GC.TryStartNoGCRegion およびGC.EndNoGCRegion メソッド。これらにより、GC が実行されない「非 GC 領域」を作成できます。
例:
using System; using System.Runtime.CompilerServices; public class NoGCRegion { public static void RunNoGC(Action action) { GC.TryStartNoGCRegion(); action(); GC.EndNoGCRegion(); } }
GC.Collect() の使用ガベージ コレクションを強制するには
はい、次を使用してガベージ コレクションを強制できます。 GC.Collect() ですが、GC フリー期間の長さは保証されていません。 GC は対象となるオブジェクトがすべて収集されるまで実行されます。
ガベージ コレクションの最小化
GC の必要性を減らすには:
以上が高性能アプリケーションの .NET でガベージ コレクションを一時的に停止できますか?の詳細内容です。詳細については、PHP 中国語 Web サイトの他の関連記事を参照してください。