Académique Documents
Professionnel Documents
Culture Documents
Definies:
Processo apenas um programa em execuo
acompanhado dos valores atuais do contador de
programa, registradores e variveis (Tanenbaum)
CPU troca de um processo para o outro simulando o
paralelismo (troca de contexto). Cada processo
executado em um determinado momento;
O contador de programa contm o endereo de
memria da prxima instruo a ser executada;
Definies:
Processo consiste em um ambiente de execuo,
junto com uma ou mais threads (Coulouris)
Ambiente de execuo: unidade de gerenciamento de
recursos locais, sendo gerenciados pelo ncleo
(kernel) aos quais as threads tem acesso;
Os ambientes de execuo representam um domnio
onde as threads so executadas;
Novo
FIM DO
PROCESSO
Despachado
(pelo escalonador)
admitir
Pronto
Executando
liberar
Time-out
(seleciona outro
processo)
desbloqueado
quando o
evento
esperado
ocorre
bloqueado a
espera de um
evento
Bloqueado
Sada
Netbeans
Exemplos desenvolvidos na IDE e
disponibilizados pelo professor atravs do
moodle.
Desenvolver exemplo 1:
Demonstrao da Thread principal main()
Desenvolver exemplo 2:
Criao de uma Thread atravs de uma classe
derivada de Thread
Desenvolver exemplo 3:
Criao de uma Thread atravs de uma classe que
implementa Runnable
Demonstrar exemplo 4:
MinhaAppRunnableVsThread
Mtodos de Suspenso:
suspend()
sleep(long millis)
resume()
stop()
Desenvolver exemplo 5:
Mtodos de suspenso
setPriority(int newPriority)
A prioridade vai de 1 a 10, sendo o valor padro 5;
Quanto maior o valor, maior a prioridade;
Alm disso, existem as constantes:
Thread.MAX_PRIORITY que vale 10;
Thread.MIN_PRIORITY que vale 1;
Thread.NORM_PRIORITY que vale 5;
getPriority()
Retorna a prioridade daquela thread;
Apresentar exemplo:
Ex_prioridades.java
Prioridade de threads:
Mtodo yield():
Faz com que uma thread passe do estado
executando para pronto;
passa a CPU para outra thread a fim de que outras
threads com outras prioridades tenham sua
oportunidade de executar;
Apresentar exemplo:
Ex_yield.java
Ou blocos de mtodos:
Apresentar exemplo:
Ex_sincronizacao.java
Apresentar exemplo 3
Ex_wait_notify.java