Fórum Forçar o término de uma thread #365783
03/11/2008
0
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.
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
Curtir tópico
+ 0
Responder
Clique aqui para fazer login e interagir na Comunidade :)