Capturar nro de threads ativas

5 respostas
anurb.coimbra

Olá pessal,

alguém sabe se existe alguma forma de eu capturar quantas threads estão ativas na minha aplicação?
Queria saber se em tempo de execução consigo esta informação sem ter que incrementar algum contador sempre que uma thread for iniciada.

Obrigada

5 Respostas

ViniGodoy

Use o método Thread.activeCount().

dyorgio

vc pode pegar o ThreadManager principal, la teras esse numero.

acho que é getActiveCount()

mais não sei ao certo, olha la que tem :slight_smile:

caso não queira contar as da JRE/AWT

ou agrupar, podes toda vez que criar uma Thread
definir um ThreadManager seu, assim saberas qquantas threads criadas usando esse manager estão ativas.

e da de parar todas ao mesmo tempo tb (interrupt())

anurb.coimbra

Obrigada!
Funcionou direitinho.

Bem simples… eu estava pesquisando se havia algum tipo de listener que captura sempre que uma thread é iniciada, finalizada, essas coisas. Mas, na realidade só preciso monitorar a quantidade de threads rodando a cada intervalo de tempo, apenas para alguns testes que estou fazendo…

anurb.coimbra

Olá!

Alguém saber se tem como saber o nome da classe das threads que estão ativas?

Tenho uma thread que fica em loop infinito me dizendo a cada intervalo de tempo quantas threads estão ativas na aplicação, ela só imprime (Thread.activeCount() - ela). Surgiu uma necessidade e queria saber o nome das classes que estão rodando, tipo, se tiver uma thread de uma classe chamada MinhaThread, queria poder capturar isso sem alterar o código da aplicação, somente alterar o código da minha thread que monitora as threads.

Alguém já fez isso?

Obrigada.

Trebloc

Acredito que esse método aqui seja útil:

http://java.sun.com/javase/6/docs/api/java/lang/Thread.html#enumerate(java.lang.Thread[])

E dê uma olhada nos outros métodos estáticos, caso necessite fazer outra coisa relacionada a isso.

Criado 8 de março de 2010
Ultima resposta 9 de mar. de 2010
Respostas 5
Participantes 4