Der vollständige reproduzierbare Code befindet sich auf GitHub, der Speicher wird nach dem Start der ausführbaren Datei bald raketen. Der Code befindet sich hauptsächlich in AsyncBlockingQueue.cs Klasse.
Der vollständige reproduzierbare Code befindet sich auf GitHub, der Speicher wird nach dem Start der ausführbaren Datei bald raketen. Der Code befindet sich hauptsächlich in AsyncBlockingQueue.cs Klasse.[code] public async Task DequeueAsync( int timeoutInMs = -1, CancellationToken cancellationToken = default) { try { using (CancellationTokenSource cts = this.GetCancellationTokenSource(timeoutInMs, cancellationToken)) { T value = await this._channel.Reader.ReadAsync(cts?.Token ?? cancellationToken).ConfigureAwait(false); return value; } } catch (ChannelClosedException cce) { await Console.Error.WriteLineAsync("Channel is closed."); throw new ObjectDisposedException("Queue is disposed"); } catch (OperationCanceledException) { throw; } catch (Exception ex) { await Console.Error.WriteLineAsync("Dequeue failed."); throw; } }
private CancellationTokenSource GetCancellationTokenSource( int timeoutInMs, CancellationToken cancellationToken) { if (timeoutInMs Wenn auf diese Weise verwendet wird, hat es Speicherlecks: < /p> try { string message = await this._inputQueue.DequeueAsync(10,cancellationToken).ConfigureAwait(false); } catch(OperationCanceledException){ // timeout } [/code]
Ich verwende diese Methode wiederholt, um die Verbindung zum Computer im lokalen Netzwerk zu überwachen. Wenn der gleiche Test von CMD durchgeführt wird, sind die Ergebnisse stetig und konsistent:...
Ich habe eine Webanwendung mit Aspnet Core und abp-framework
abp => 7.2.1
dotnet => net7.0
Das Problem ist, dass ich eine Methode habe, die für zwei Jobs verantwortlich ist
TL;DR: Falsch positiver (?) Speicherverlust im „unbekannten Modul“ in einem großen JNA-Projekt. Verschwindet, wenn ich versuche, ein Minimalbeispiel zu machen. Wie kann ich das Problem beheben?
Ich...
Ich habe eine Klasse, die verwendet wird, um asynchrones zu arbeiten.
Wenn es um die Entsorgung dieser Klasse geht, muss ich sicherstellen Erstens.
Es scheint, als ob es einige Muster dafür gibt....
Ich habe eine Anwendung, die eine Antwort von 3 virtuellen seriellen Ports mit Serialport.Datarecebed fordert. Dies kann dazu führen, dass sich Fäden ansammeln. Jeder serielle Anschluss läuft in...