Threads
Thread Java
Luiz Affonso Guedes - Sistemas Distribuídos
Definições Básicas
* Threads são sub-procesos no sistema operacional. * É menos custoso gerenciar threads do que processos. * As linguagens Java e Ada possuem funcionalidades MULTITHREADING na própria estrutura da linguagem. * C e C++ necessitam de biblioteca especifica para processamento MULTITHREADING * Posix p_thread
* Em Java, threads são implementadas como uma CLASSE * Pacote java.lang.Thread * É uma extensão da classe Thread * Contrutores: * public Thread (String nome_da_thread); * public Thread ( ); // o nome sera Thread-# * Thread-1, Thread-2,…
Principais Métodos
* run(): é o método que executa as atividades de uma THREAD. Quando este método finaliza, a THREAD também termina. * start(): método que dispara a execução de uma THREAD. Este método chama o método run( ) antes de terminar. * sleep(int x): método que coloca a THREAD para dormir por x milisegundos. * join( ): método que espera o término da THREAD para qual foi enviada a mensagem para ser liberada. * interrupt( ): método que interrompe a execução de uma THREAD. * interrupted( ): método que testa se uma THREAD está ou não interrompida.
Estados de uma Thread em Java
Prioridade de Thread
* Em Java, a prioridade é determinada com um inteiro entre 1 e 10. * A prioridade padrão é o valor 5. * 10 é a maior prioridade e 1 é a menor. * A THREAD herda a prioridade da THREAD que acriou. * void setPriority(int prioridade); * int getPriority( );
Algoritmo de Escalonamento
Prioridade 10
Prioridade 1
Prioridade 9
Prioridade 8
Prioridade 2
Prioridade 3
.
.
.
A
B
C
D
E
F
G
Exemplo 01
* O programa cria 04 threads e as coloca para dormir. * ThreadBasica é uma extensão da classe Thread. * Analise como se chama o