Frage

Ich habe einen Code wie unten

generasacodicetagpre.

Ich versuche, den Prozess anmutig zu verlassen.Das Problem ist jedoch sehr selten, dass ich dieses Programm bei Join hängt.

Thread ist während der Schleife immer noch aktiv.M_Alive Value lautet "True" auch nach dem Anruf der Stopp (in Haltestelle auf false).M_Alive wird als volatil deklariert.

War es hilfreich?

Lösung

fand den Grund, warum M_Alive wahr ist.

es ist, weil, wenn wir einen Thread erstellen (im Allgemeinen aufgerufene "Start" -Funktion) aufgerufen, in einem anderen Thread, und es setzte seine Ausführung fort.Zum Zeitpunkt "Start" abgeschlossen und Anrufstop ist noch kein neuer Thread geplant.Also "run" nicht gestartet.Wenn der spätere Auslauf startet, setzen Sie den Wert von M_Alive von FALSE wieder auf Richtige zurück ...

Lizenziert unter: CC-BY-SA mit Zuschreibung
Nicht verbunden mit StackOverflow
scroll top