KillThread()
Синтаксис
KillThread(Thread)
Описание
Немедленно уничтожает указанный Поток, ранее созданный с помощью функции CreateThread(). Эта функция очень опасна и должна использоваться как можно реже. Проблема в том, что поток немедленно уничтожается и не получает шанса выполнить какой-либо код завершения (например освободить память, удалить элементы, освободить собственный стек).
По возможности следует использовать флаг в виде глобальной переменной чтобы сказать потоку заканчивать выполнение (при этом производятся нужные завершающие действия), и только если это невозможно по какой-то причине следует использовать эту функцию.
Параметры
Thread Номер, идентифицирующий Поток, который требуется уничтожить. Этот Номер является результатом функции CreateThread(), полученным при создании данного Потока.
Возвращаемое значение
Ничего.
Пример
; Процедура/поток который никогда не завершается. Это нехорошо, но зато ; показывает как работает KillThread 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
Поддерживаемые OS
Все