Завершение потоков
Каким образом можно "гуманно" завершить работу потока (объекта TThread), находящегося в состоянии Suspended, при вызове терминатора признак "завершенный" ставится в 1, но поток продолжает свое существование, пока не закончит цикл в Execute (а там функция которая в блокирующем режиме работает).
Конечно TerminateThread спасает, но это уж как-то очень грубо.
Да и к тому же поток может быть приостановлен с EIP находящимся внутри некой ф-ии, где открыты какие-то хендлы, при таком прибивании хендлы так и останутся висеть? (глобальный менеджер хендлов поди нужен)
|