VB.Net Unterschied zwischen Thread und Backgroundworker?

1 Antwort

Ich habe von Backgroundworkern bisher noch nichts gehört und mich daher gerade auf der Microsoft-Seite schlau gemacht:

Wenn ich es richtig verstehe, gibt es beim Backgroundworker eine standardisierte Möglichkeit, ihn abzubrechen und eine standardisierte Möglichkeit, den Fortschritt auszugeben.

Das Abbrechen selbst muss dabei aber der selbstgeschriebene Code übernehmen (also z.B. die "while"-Schleife muss sich beenden, wenn ein Abbruchwunsch erkannt wird).

Mit einem normalen Thread kann man das gleiche aber auch erreichen, indem man z.B. eine Variable auf "true" setzt, um dem Thread zu signalisieren, dass er sich beenden soll.

Wichtig ist der Backgroundworker, wenn man "fertige" Befehle verwenden will, um z.B. den Fortschritt des Threads anzuzeigen oder laufende Threads abzubrechen (also z.B. ein bereits fertiges Dialogfeld, in dem der Fortschritt für alle Hintergrundthreads angezeigt wird und auch "Abbruch"-Knöpfe für alle Threads vorhanden sind).

Schließlich können die "fertigen" Befehle nicht wissen, welche Variable man auf "true" setzen muss, um den Thread abzubrechen...


Aicher1998 
Beitragsersteller
 06.11.2015, 16:06

Es gibt für Threads auch noch den WaitCallback