Estou usando uma biblioteca, a qual utiliza algumas threads que sao criadas quando crio um dos objetos. Porem quando eu destruo esse objeto as threads nao morrem, só que eu nao tenho acesso a essas threads…
Como eu poderia finalizar essas threads???
Penso que seria atraves de uma chamada a JVM ou algum objeto que gerencia as threads da aplicacao…
Se voce quer que todas essas threads morram a qualquer momento, depois que suas threads “principais” morrerem, basta usar o metodo setDaemon(true). Mas cuidado porque elas podem morrer no MEIO de algo importante… sem cleanup nem nada. Caso voce precise de uma morte limpa para as threads, faça como o luca indiciou: while(rodando) dando catch em InterruptedException caso tenha wait/sleep.
Obrigado pela ajuda. O meu grande problema é estar usando uma biblioteca proprietaria, a qual eu nao tenho acesso ao fonte e nao tenho muitos recursos (Ex. Herança) para modifica-lá, realmente o setDaemon seria util se eu tivesse acesso a Thread, mas esse metodo (pelo que sei) so pode ser chamado antes da thread ser iniciada, quanto a solucao dada pelo Luca tb é muito boa, é o que faço quando crio threads, mas no caso como ja disse nao tenho acesso aos fontes e nem posso tentar “sobrescrever o run” (override do metodo).
Obrigado a todos, já consegui resolver meu problema…