„Wenn ein Arbeiter seine Arbeit gut machen will, muss er zuerst seine Werkzeuge schärfen.“ – Konfuzius, „Die Gespräche des Konfuzius. Lu Linggong“
Titelseite > Programmierung > Wann ist es akzeptabel, gc.collect () aufzurufen?

Wann ist es akzeptabel, gc.collect () aufzurufen?

Gepostet am 2025-03-23
Durchsuche:509

When is it Acceptable to Call GC.Collect()?

Zeit, gc.collect mit basiv zu verwenden

Obwohl es normalerweise nicht empfohlen wird, gc.collect () direkt in bestimmten Fällen zu rufen, ist dies vernünftig. Wenn ein Dienst beispielsweise kreisförmige Weise ausgeführt wird und nach der Ausführung einer Aufgabe lange Zeit im Leerlauf ist, ist es möglich, die Ressourcenauslastung zu optimieren, wenn er während der Leerlaufphase zur Müllsammlung gezwungen wird, um den Speicher zu befreien, der durch den Prozess besetzt ist, der in Begriff ist.

Eine andere akzeptable Situation ist nach dem Schließen einer großen Form in einer GUI -Anwendung. Da alle UI -Steuerelemente zu diesem Zeitpunkt die Müllsammlung erfüllen und der kurze Leistungsrückgang während des Formulars, das die Benutzer schließen, nicht bemerkt, ist es angemessen, die GC -Sammlung zu starten.

Zusätzlich können die folgenden Situationen auch berücksichtigt werden, gc.collect () :

  • Wenn Sie solide Beweise dafür haben, dass eine große Anzahl von Objekten (insbesondere Gen 1 und Gen 2 Objekte) für die Müllsammlung bereit sind und dass die Leistungsauswirkungen minimal sind.
  • Ausgehend von .NET 4.5, wenn Sie gclatencyMode.lowatcy oder gclatencyMode.SustainedLowlecy empfohlen, die volle GC mit gc.collect (2, 2, 2, GCCOLLECTION) zu erzwingen Lowlatency
  • .
  • Mit .NET 4.6 können Sie die gc.trystartnogcregion
  • -Methode verwenden, um GC für eine Zeitspanne zu deaktivieren. Es wird empfohlen, den vollen GC vor und nach dieser Zeit manuell auszulösen.

Diese Ausnahmen betonen die Bedeutung der Vorsicht beim Aufrufen von gc.collect ()

. Es ist wichtig, die spezifische Umgebung und die potenzielle Leistung auswirken, bevor diese Entscheidung getroffen wird.

Neuestes Tutorial Mehr>

Haftungsausschluss: Alle bereitgestellten Ressourcen stammen teilweise aus dem Internet. Wenn eine Verletzung Ihres Urheberrechts oder anderer Rechte und Interessen vorliegt, erläutern Sie bitte die detaillierten Gründe und legen Sie einen Nachweis des Urheberrechts oder Ihrer Rechte und Interessen vor und senden Sie ihn dann an die E-Mail-Adresse: [email protected] Wir werden die Angelegenheit so schnell wie möglich für Sie erledigen.

Copyright© 2022 湘ICP备2022001581号-3