2009-06-12 3 views

Antwort

13

Wie bereits erwähnt, könnte ein Wrapper um die Thread-Klasse diesen Zustand erfassen. Hier ist ein Beispiel.

-1

Sie könnten einige globale Variable auf 0 setzen, wenn Erfolg, oder nicht Null, wenn es eine Ausnahme gab. Dies ist eine hübsche Standardkonvention.

Sie müssen diese Variable jedoch mit einem Mutex oder Semaphor schützen. Oder Sie können sicherstellen, dass nur ein Thread jemals darauf schreibt und alle anderen nur lesen.

+0

0 für den Erfolg kann eine ziemlich Standardkonvention sein, aber wäre ein boolescher "Erfolg" nicht ein wenig einfacher auf dem Fleischdolmetscher? –

+0

Es muss nicht global sein, wenn ich Thread ableiten, brauche nur eine Mitgliedsvariable, um Erfolg anzuzeigen. Ich habe mich nur gefragt, ob es einen eingebauten Weg dafür gibt, wie den Prozess-Exit-Code. –

+5

Threads und globaler Status. Zwei große Geschmäcker, dass tate gsrat eogetherrrrrrrrrrrrrr Segmentation Fehler, Core Dumped. – Glyph

0

Lassen Sie Ihre Thread-Funktion Ausnahmen abfangen. (Sie können dies mit einer einfachen Wrapper-Funktion tun, die nur die alte Thread-Funktion in einem try ... except oder try ... except ... else Block aufruft). Dann wird die Frage nur, wie man Informationen von einem Thread an einen anderen weitergibt, und ich nehme an, Sie wissen bereits, wie man das macht.

Verwandte Themen