THREAD
Alunos: Filipe Azevedo da Rocha
Jefferson de Oliveira Torres
FAFICA – CURSO: ADS TURMA: 2º Periodo
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.
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.
PRONTO
EXECULTANDO BLOQUEADO
FINALIZADA
CICLO DE VIDA
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.
Referências:
 http://www.caelum.com.br/apostila-java-orientacao-objetos/programacao-
concorrente-e-threads/
 Java como Programar 8ª Edição
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

THREADS JAVA

  • 1.
    THREAD Alunos: Filipe Azevedoda Rocha Jefferson de Oliveira Torres FAFICA – CURSO: ADS TURMA: 2º Periodo
  • 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 Quandocriamos 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.
  • 4.
  • 5.
    Entendendo o usoTHREAD 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.
  • 6.
  • 7.
    Obrigado!! Esse Slide foicriado 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