2017-07-11 3 views
-1

Ich habe diesen Fehler bei der Verarbeitung von 20 GB Bild- und Videodateien festgestellt. Wenn ich überprüft habe, verwendet mein Computer 11 GB RAM. Ich denke, das Problem ist in diesem Code. Es verwendet eine Menge Ressourcen. Ich denke 2 Dinge, (1) Ressourcen nach der Verarbeitung der Datei freigeben, aber es heißt, die Datei wird immer noch verwendet (2) Verarbeitung der Datei ohne das Bild/Video laden, aber ich bin nicht sicher damit.ContextSwitchDeadlock aufgetretener Fehler bei der Verarbeitung von 2400-Bildern und 100-Videodateien

Image image; 

foreach (FileInfo file in MyFileFolder) 
{ 
image=Image.FromFile(@file.FullName.ToString()); 

//my codes 
} 

Wie kann ich das beheben? Ich habe versucht, Optionen> Optionen> Debugging> Allgemein> "Nur Code aktivieren" deaktiviert, aber es ist immer noch das gleiche.

+1

Fahren Sie einfach fort und ignorieren Sie die Nachricht. (oder mache den Job async) –

+0

Ich habe das versucht und einfach weiterschleifen bei 1780. Bild. Ich überprüfte die Eigenschaft des Bildes, nichts ist merkwürdig, JPEG, 6MB Größe. – Vincent

+0

Haben Sie versucht, 'image.Dispose()'? Aber ich bin mir nicht sicher, ob das mit Ihrem Fall zusammenhängt. – Prisoner

Antwort

-2

Ich kann nur von WPF sagen, aber denke, dass dies in Winforms identisch sein könnte: Wenn Sie eine lange laufende Berechnung auf dem UI-Thread ausführen, werden Sie diese Ausnahme im Debug-Modus sehen.

Verschieben Sie einfach Ihren Code, um in einem separaten Thread zu laufen, und Sie sollten diese Ausnahme nicht mehr sehen.

Verwandte Themen