KillThread()
Syntax
KillThread(Thread)Beschreibung
Entfernt umgehend den angegebenen Thread, der zuvor mit CreateThread() erstellt wurde. Dies ist eine sehr gefährliche Operation und sollte nur selten benutzt werden. Das Problem ist, dass der Thread umgehend entfernt wird und keine Chance hat, irgendwelchen "Aufräumcode" (z.B. Speicher freigeben, Einträge freigeben, De-Allokieren seines eigenen Stacks) auszuführen.
Wenn möglich, sollte ein Flag (z.B. eine globale Variable) verwendet werden, welcher dem Thread mitteilt, sich selbst zu beenden (und das benötigte "Aufräumen" zu erledigen). Und dieser Befehl sollte nur verwendet werden, wenn dies auf irgendwelchen Gründen nicht möglich ist.
Parameter
Thread Der zu entfernende Thread. Dieser Wert wird von CreateThread() zurückgegeben.
Rückgabewert
Diese Funktion gibt keinen Wert zurück.
Beispiel
; Ein(e) Prozedur/Thread, welche nie enden wird. Nicht gut, aber es zeigt ; wie KillThread arbeitet Procedure PrintStuff(*Interval) Repeat PrintN(".") Delay(*Interval) ForEver EndProcedure If OpenConsole() thread = CreateThread(@PrintStuff(), 500) If thread For i = 0 To 10 PrintN("A") Delay(999) If i = 5 KillThread(thread) EndIf Next EndIf EndIf
Unterstützte OS
Alle