Цитата:
Сообщение от mustimur
Однако в свое оправдание приведу цитату из официального хелпа (он меня и направил на ложный путь порока: обращения к мертвым потокам):
Цитата:
Finished is True when the thread execution is completed or terminated, and False otherwise. This property is read-only.
|
Т.е. оно True когда поток закончен или уничтожен..... Или я поть не правильно что-то понял? 
|
Да. Понял не правильно. Поток (
Thread) и объект потока (т.е. экземпляр класса
TThread) это вещи совершенно разные. С потоками можно работать и не используя объекты класса TThread, используя вместо этого стандартные API-функции
CreateThread,
ResumeThread и т.д. Потоки это обычная возможность Windows (просто обычная процедура выполняющаяся параллельно), а TThread это разработка Borland (теперь это Embarcadero) - класс, на основе которого создаются объекты. Уничтожен может быть объект потока (т.е. класса TThread), а поток он не уничтожается, а просто завершается. Вот при "FreeOnTerminate:=True" объект класса TThread саморазрушится когда параллельный поток завершится, а при "FreeOnTerminate:=False" объект будет жить и хранить все свои данные и после завершения работы потока - такой объект нужно разрушать самостоятельно (Free) чтобы не было утечек памяти.