Update UI von mehreren worker-threads (.NET)

Habe ich ein pet-Projekt, an dem ich arbeite, hat mehrere worker-threads. Ausgabe alles um die Konsole ist immer schwer zu Folgen, so dass ich bei der Entwicklung einer Benutzeroberfläche, haben Sie eine Ausgabe-Bereich, pro-thread. Ich möchte wissen, der beste Weg für die Fäden, um das senden von updates an der Benutzeroberfläche. Ich habe zwei Ideen:

1) jeder thread einen "DataUpdated" - flag, wenn neue Daten verfügbar sind, und die UI in regelmäßigen Abständen prüfen, ob neue Daten.

2) Erstellen, jeden thread mit einem callback zu einem UI Update (...) - Methode aufgerufen wird, wenn neue Daten verfügbar sind.

Ich bin derzeit Neigung zu (2) aus zwei Gründen: mir gefällt die Idee der "überprüfung" jeden thread, und da dies mein erstes Multithreading-Anwendung und (2) scheint einfacher, als es wahrscheinlich ist. Ich will wissen:

  • Welche option vorzuziehen ist, im Hinblick auf Einfachheit und Effizienz?
  • Haben Sie irgendwelche Tipps für die Umsetzung (2) oder etwas ähnliches (D. H. mehr event-driven)?

InformationsquelleAutor iandisme | 2010-01-19

Schreibe einen Kommentar