Multithreading Parte 3

2918 palavras 12 páginas
Multithreading
- parte 3 - Tecnologia em Análise e
Desenvolvimento de Sistemas Profa.: Daniela Costa Terra
Email: daniela.terra@ifmg.edu.br

1

Quando uma Thread termina
(sem ser interrompida)
 Relembrando... uma thread termina quando a mesma retorna de seu método run(), após:


um comando de return



executar a última sentença do corpo do método



uma exceção disparada mas não tratada dentro do corpo do método 2

Métodos que foram depreciados
(stop, suspend, resume)
 Função dos métodos stop(), suspend() e resume(), depreciados após a versão Java SE 1.2: (seja t um objeto do tipo Thread)


t.stop()  interrompe a thread t



t.suspend()  suspende a execução da thread t até a chamada
t.resume()



t.resume()  muda o estado da thread t de “suspensa” para
“executável”



Abra a documentação da API Java e veja na classe Thread esses métodos marcados como “deprecated”

3

Métodos que foram depreciados
(stop, suspend, resume)
 Observe que stop() e suspend() é uma maneira compulsória de interromper uma thread sem o “consentimento” da mesma.
 Veja o motivo da depreciação e o que poderia ocorrer de errado:


stop() (questões de segurança). A thread t pode ser interrompida antes que tenha finalizado alguma transação crítica ou antes de ter liberado recursos do sistema operacional



suspend() (propensão à deadlock). A thread t poderá “segurar”

locks de objetos que outras threads necessitariam obter.


t.resume()  existe para reverter o estado de uma thread após

a chamada supend()
4

Métodos que foram depreciados
(stop, suspend, resume)

Nenhuma outra thread poderá decidir qual é o melhor

momento para realizar uma interrupção senão a própria

thread!

5

Solicitando a Interrupção de uma Thread
 O método interrupt() da classe Thread é uma maneira de

requisitar a interrupção de uma thread
 Quando o método interrupt() é chamado o flag interrupted da thread é alterado para true
 Toda thread pode, ocasionalmente, verificar seu status interrupted

Relacionados

  • java
    2107 palavras | 9 páginas
  • 2u00BA TP Arquitetura Henrique e Raellen 1
    3920 palavras | 16 páginas
  • Questionário de arquitetura de computadores
    2589 palavras | 11 páginas
  • paralelismo
    547 palavras | 3 páginas
  • Multithreading Parte 1
    2298 palavras | 10 páginas
  • Informação
    3531 palavras | 15 páginas
  • Hyper-Threading
    1659 palavras | 7 páginas
  • Multiprocessadores e clusters
    23132 palavras | 93 páginas
  • 498837968
    1817 palavras | 8 páginas
  • Neander
    5407 palavras | 22 páginas