Was ist ein sicherer Weg, um zu stoppen einen Laufenden thread?

Ich habe einen thread, der enthält die Ausführung einer IronPython-Skript. Für einige Grund ich muss aufhören diesen thread zu jeder Zeit, einschließlich der Skript-Ausführung. Wie dies zu erreichen? Die erste Idee ist Thread.Abort(), aber es ist bekannt, böse zu sein...

Ja, Rucken den Teppich unter einem thread ist böse. Aber wenn es das ist, was Sie tun möchten, dann Thread.Abort() ist der Weg zu gehen. Die bessere Lösung ist, ändern Sie Ihre Anwendung entwerfen.
Hat dein thread-Schleife oder ist es nur ausführen für die Ausführung eines einzelnen Skripts und dann sterben?
Es Schleifen, aber jeder iteration enthält die Skript-Ausführung, die können sehr lang werden.
was genau meinst du mit design ändern?
So, dass Sie nicht "brauchen, um zu stoppen [die] thread zu jeder Zeit". Es ist wirklich nicht genug Kontext, in sich für mich die Frage zu geben, mehr spezifische Beratung. Mein Punkt ist, dass Sie Recht über Thread.Abort nicht ideal, aber es ist nicht so, dass die Funktion, die bösen, es ist, was es tut. Und da es genau das tut, was Sie wollen...

InformationsquelleAutor aplavin | 2012-02-14

Schreibe einen Kommentar