Heim >Backend-Entwicklung >C++ >Wann sollten Sie eine CancellationTokenSource entsorgen?
Die CancellationTokenSource-Ressource korrekt freigeben
In .NET wird CancellationTokenSource
zum Verwalten des Thread-Abbruchs verwendet und muss explizit freigegeben werden, um Ressourcenlecks zu vermeiden. Obwohl dieser Schritt in MSDN-Beispielen häufig weggelassen wird, ist die korrekte Verwaltung der Ressourcen von entscheidender Bedeutung.
Warum müssen Sie CancellationTokenSource freigeben?
CancellationTokenSource
Verwenden Sie nicht verwaltete Ressourcen (z. B. Kernel-Ereignisse), die bereinigt werden müssen, um Speicherlecks zu verhindern. CancellationTokenSource
-Objekt nicht automatisch frei, da es keinen Finalizer hat. Korrekte Freigabemethode
using
-Anweisung verwenden, um die Tokenquelle automatisch freizugeben. ContinueWith
-Methode an die Aufgabe an, die Dispose()
für die Tokenquelle aufruft. Dispose()
manuell für die Tokenquelle auf, nachdem die parallele Aufgabe oder PLINQ-Abfrage abgeschlossen ist. Wiederverwendbarkeit
CancellationTokenSource
kann nicht wiederverwendet werden. Erstellen Sie nach dem Starten einer Aufgabe oder PLINQ-Abfrage eine neue Tokenquelle. Das Zurücksetzen von IsCancellationRequested
und Token
wird nicht unterstützt.
Empfohlene Strategien
Um mehrere CancellationTokenSource
Instanzen effizient zu verwalten, beachten Sie Folgendes:
using
-Anweisungen wann immer möglich (z. B. beim Warten auf parallele Aufgaben). ContinueWith
oder expliziter Freigabe). Das obige ist der detaillierte Inhalt vonWann sollten Sie eine CancellationTokenSource entsorgen?. Für weitere Informationen folgen Sie bitte anderen verwandten Artikeln auf der PHP chinesischen Website!