2. O que é Thread?
CONCEITO
É uma forma de um processo dividir a si mesmo em duas ou mais tarefas que
podem ser executadas concorrentemente.
Exemplo:
Em várias situações, precisamos "rodar duas coisas ao mesmo tempo".
Imagine um programa que gera um relatório muito grande em PDF. É um processo
demorado e, para dar alguma satisfação para o usuário, queremos mostrar uma
barra de progresso. Queremos então gerar o PDF e ao mesmo tempo atualizar a
barrinha.
3. CICLO DE VIDA
PRONTO
Quando criamos uma nova thread e chamamos seu método start() ela entra no
estado pronta, ou seja, seu método run() pode ser executado a qualquer
momento.
É importante observar que chamar start() não faz com que a thread seja
executada imediatamente.
EXECULTANDO
Quando o método run() de uma thread é finalmente chamado ela
entra no estado "executando".
Uma thread em execução pode voltar ao estado "pronta" se o seu
tempo de CPU expirar
BLOQUEADO
Uma thread pode entrar no estado "bloqueada", ou seja, se tornar inativa,
por várias razões. Ela, ou quaisquer outras threads, pode ter chamado os
métodos join(), sleep(), wait() or lock(). Uma thread pode também estar
bloqueada aguardando alguma operação de entrada/saída (I/O) ser finalizada.
FINALIZADA
Quando todas as instruções contidas no método run() da
thread forem concluídas, a thread terá terminado sua
tarefa e será finalizada. Uma thread finalizada está "morta".
Não há como chamar seu método start() novamente sem
criarmos uma nova instância da mesma.
5. Entendendo o uso THREAD
run(): Metodo que será chamado pelo Start da THREAD.
start(): É o método que vai inicializar a THREAD.
sleep(): Faz com que a TRHEAD fique aguardando por um determinado período.
7. Obrigado!!
Esse Slide foi criado para apresentação da classe THREAD
Na matéria de Programação Orientada a Objetos I no curso de
Analise e Desenvolvimento de Sistema – FAFICA, Turma: 2ª período.
Professor: Douglas Frari