Threads em Java
Janeiro – IM/DCC
Utilização de threads em Java
Prof. Austeclynio Pereira e-mail: austeclyniop@posgrad.nce.ufrj.br
Ciclo de vida de uma thread nascimento start
pronta notify notifyAll
wait
esperando
tempo expira sleep
em execução dormindo
yield
termina E/S
inicia E/S end morta
bloqueada
1
Criando threads em Java
Existem duas maneiras possíveis para criarmos threads em Java:
Estendendo a class Thread.
Implementando a interface Runnable.
Criando threads em Java estendendo a class Thread
O start() faz com que a Java Virtual Machine invoque o método run da Thread .
2
Criando threads em Java implementando a interface Runnable
Utilizando threads em Java
Alguns métodos da classe Thread:
run()
start()
z
z
Registra a thread no thread scheduler.
getName()/setName() z
deve estar presente em todas as threads.
Atribui ou retorna o nome de uma thread. Por default as threads são nomeadas numericamente.
yield() z Faz com que a thread corrente pause, possibilitando que outra thread seja despachada.
3
Utilizando threads em Java
Alguns métodos da classe Thread:
sleep() z
interrupt() z
Faz com que a thread fique em estado de espera uma quantidade mínima de tempo, em ms, possibilitando a CPU executar outras threads. Atribui à thread o estado de interrompível.
isInterrupted() z Verifica se foi atribuído à thread o estado de interrompível.
Utilizando threads em Java
Alguns métodos da classe Thread:
getPriority()/setPriority() z
Atribui ou retorna a prioridade de despacho de uma thread.
join() z Condiciona a continuação da execução de uma thread ao término de uma outra.
4
Utilizando threads em Java
Alguns métodos da classe Object:
wait() z
notify() z
Utilizado para sincronizar acesso a um objeto. Coloca a thread