fabianormatias / threads

Projeto para praticar a utilização de processos concorrentes (Thread)

Geek Repo:Geek Repo

Github PK Tool:Github PK Tool

##Estados de uma Thread

###Nova Quando a thread é instanciada, está disponível para ser executada.

###Executável Quando a thread é ativada pelo método start(). Pode entrar neste estado por:

  • start(): thread inicializada através do start().
  • retorno do sleep: o tempo de bloqueio por sleep terminou.
  • resume(): desbloqueio do suspend() para continuação do processo – deprecated.
  • notify/notifyAll(): desbloqueio do wait() para continuação do processo.
  • retorno do I/O: o processo de IO foi finalizado.

###Bloqueada Quando a thread é desativada. Pode entrar neste estado por:

  • sleep(): bloqueada por tempo determinado.
  • suspend(): bloqueada até que seja reativada pelo resume() – deprecated.
  • wait(): bloqueada até que receba uma notificação (notify() / notifyAll()).
  • bloqueio por I/O: algum processo de IO está sendo aguardado para continuar o processo.

###Encerrada Quando a thread termina sua execução (final do método run()) o u ométodo stop() é acionado.

##Principais métodos – Threads

###run() Deve conter o código que se deseja executar, quando a thread estiver ativa. ###start() Inicia a thread, ou seja, efetiva a chamada do método run(). ###stop() Encerra a thread. ###static sleep(long tempo) Deixa thread corrente inativa por no mínimo tempo milisegundos e promove outra thread. ###static yield() Deixa a thread em execução temporariamente inativa e, quando possível, promove outra thread de mesma prioridade ou maior. ###suspend() Coloca a thread no final da fila de sua prioridade e a deixa inativa (método depreciado). ###resume() Habilita novamente a execução da thread (método depreciado). ###wait() Interrompe a thread corrente e coloca a mesma na fila de espera (do objeto compartilhado) e aguarda que a mesma seja notificada. ###notify() Notifica a próxima thread, aguardando na fila. ###notifyAll() Notifica todas as threads. ###join() Aguarda outra thread para encerrar. ###interrupt() Envia o pedido de interrupção de execução de uma thread. ###static interrupted() Verifica se a thread atual está interrompida. ###isAlive() Retorna true caso uma thread estiver no estado executável ou bloqueado, nos demais retorna false. ###setPriority(int prioridade) Define a prioridade de execução de uma thread (1 a 10). ###getPriority() Verifica a prioridade de execução de uma thread.

About

Projeto para praticar a utilização de processos concorrentes (Thread)


Languages

Language:Java 100.0%