-
-
-
-
CENAPAD-MGCO
A seguir: Consumer.java, Producer.java, Queue.java: Observações
Acima: Threads
Anterior: CardReaderApplet.java: Observações
- O ponto chave está no uso de synchronized em métodos
que são executados com exclusão mútua
- Todo método synchronized de um objeto realiza, no início
de sua execução, um
lock em uma chave
implícita associada ao objeto, e ao terminar realiza
um unlock sobre esta mesma chave;
-
Existe também uma única cama associada ao objeto; o método
wait() libera a chave do objeto, e coloca o processo que o
executa dormindo nesta cama;
-
Um processo que executa wait pode ser despertado
- pela execução de notify() por um outro processo, ou
- pela ocorrência de uma exceção (que também pode
provocada por outro processo)
- A possibilidade de ocorrência da exceção força o uso
de try e
catch
Osvaldo Carvalho
-
Postscript -
Comentários?