Forçar o término de uma thread

Delphi

03/11/2008

Ola pessoal,

Tenho um sistema multi-thread que executa constantemente várias threads ao mesmo tempo. Quando o usuário vai fechar o programa eu envio o terminate para todas as threads, que por sua vez de tempos em tempos checam a variável terminated para parar a execução. Tudo bonitinho.

Mas ocorre que às vezes alguma thread pára esperando resposta de I/O banco de dados, internet, etc... e fica um bom tempo lá aguardando, o que resulta na demora para fechar o programa. E neste caso eu quero terminá-la na marra, mas sem dar erros no programa.

Existe alguma maneira de se terminar uma thread à força? Sem esperar que ela chegue até o ponto de verificação da variável terminated?
Tipo colocar um timeout, se a thread não terminar em 20 segundos o programa vai lá e mata ela..

Att
Matheus.


Prgdelphi

Prgdelphi

Curtidas 0
POSTAR