Entwickler-Ecke

Basistechnologien - Threads beenden


Xcalibur - Fr 05.08.11 12:50
Titel: Threads beenden
Hallo,

Ich habe folgenden Programmaufbau:

Im Hauptprogramm wird ein Thread gestartet. (Manager)
Dieser Manager startet eine bestimmte Anzahl von Threads die Aufgaben durchführen. (Jobs)
Wenn ich nun alle Jobs beenden möchte, reicht es dann den Manager anzuhalten oder muss i zuerst den
Manager anweisen alle Jobs anzuhalten und danach den Manager anhalten?

Gruß Gernot


dark-destination1988 - Fr 05.08.11 13:09

ich würde dir raten in dem Manager eine List<Threads> anzulegen.
wenn du den manager nun beendest die liste durchgehen und die threads beenden.


Kha - Fr 05.08.11 17:09

Auch wenn du nicht sowieso schon das Parallel Framework nutzt, was du wahrscheinlich tun solltest ;) , benutze CancellationTokens zum Abbruch, das sollte heutzutage der Standard sein - Thread.Abort ist dann doch etwas zu sehr Holzhammermethode.


Delete - Fr 05.08.11 18:20

Du hast zehn Startbahnen gebaut, auf denen sind zehn Flugzeuge gestartet. Wenn du jetzt nach dem Start die Startbahnen zerstörst, fallen die Flugzeuge nicht vom Himmel. Und im Sinne von den Passagieren solltest du die Flugzeuge nicht abschiessen, sondern sie bitte zu landen. ;)


Xcalibur - Fr 05.08.11 22:36

Danke schonmal für eure Hilfe.

Also der Manager hat eine List<Jobs> und jedes Job Objekt hat einen eigenen Thread.
Ich dachte das der GC das vielleicht übernimmt wenn er merkt das die Job Objekte alle in der "Luft hängen".
(Also falls der mir die Objekte wegräumt das er dann auch gleich die Threads killt)

Ok gut dh ich schreib im Manager eine Funktion die mir alle Threads beendet.

Hmmm von einem Parallel Framework hab ich noch nie gearbeitet. Welche Vorteile hätte das?


Th69 - Sa 06.08.11 07:59

Hallo Gernot-Huber,

gemeint ist mit "Parallel Framework" die Task Parallel Library [http://msdn.microsoft.com/de-de/library/dd460693%28v=VS.100%29.aspx] aus dem .NET 4.0.
Einen kurzen Überblick darüber habe ich mal als Powerpoint-Vortrag unter http://www.c-sharp-forum.de/viewtopic.php?p=604486#604486 abgelegt.


Xcalibur - Sa 06.08.11 09:45

Vielen Dank!

Jetzt weis ich worum geht.
Genau das was ich brauche, das ersetzt mir ja meine ganzen For-Schleifen...