Ich arbeite derzeit an einer Side-by-Side-Anwendung (C#, WinForms), die Nachrichten in eine Anwendung über COM einfügt.Out of proc COM Schwerfälligkeit
Diese Anwendung verwendet mehrere foreach-Anweisungen, Abfragen von Entitätsmetriken aus der Anwendung, die COM akzeptiert. Eine ListBox wird zum Auflisten jeder Entität verwendet. Wenn ein Benutzer eine Entität aus dieser Liste auswählt, wird ein Thread erstellt und ausgeführt, der eine Methode aufruft, die die erforderlichen Daten abruft.
Wenn ein Benutzer eine andere Entität aus der Liste auswählt, wird der laufende Thread abgebrochen und ein neuer Thread für die neu ausgewählte Entität erstellt.
Ich habe einen Tag damit verbracht, meinen Threading- und Speicherverbrauch zu untersuchen und bin zu dem Schluss gekommen, dass alles in Ordnung ist. Niemals werden mehr als 6 Threads gleichzeitig ausgeführt (alle für die Ausführung unterschiedlicher Member) und über den Windows Task-Manager erreicht meine Anwendung nie einen Spitzenwert von> 10 CPU%, 29M MEM.
Danke für die Führung; Die ListBox enthält eine unbestimmte Anzahl von Entitäten. Im Allgemeinen enthält sie etwa 5-15. – wulfgarpro
@wulfgarpro: Klingt wahrscheinlich dann egal. Allerdings, wenn Sie eine ganze Reihe von Steuerelementen die ganze Zeit aktualisieren, könnte die Antwort von Chad nützlich sein, um es zu versuchen. –