08.02.2015 Views

Programação Funcional e Concorrente com Scheme

Programação Funcional e Concorrente com Scheme

Programação Funcional e Concorrente com Scheme

SHOW MORE
SHOW LESS

Create successful ePaper yourself

Turn your PDF publications into a flip-book with our unique Google optimized e-Paper software.

notas de aula - Jerônimo C. Pellegrini<br />

Figura 11.2: Um monitor <strong>com</strong> variáveis de condição bloqueantes.<br />

Na Figura 11.2, a thread A ocupa o monitor e as threads B, C e D esperam por<br />

variáveis de condição. Se A chamar signal Y, uma das threads na fila Y acordará e<br />

passará imediatamente a ocupar o monitor; a thread A ficará então em uma fila S, que<br />

tem prioridade sobre a fila de entrada.<br />

11.5.2 Variáveis de condição sem bloqueio<br />

Pode-se modificar a idéia original de monitores para permitir que uma thread continue<br />

executando após chamar signal. Neste caso, as threads que são liberadas para adquirir o<br />

monitor passam para a fila de entrada. O diagrama da Figura 11.3 mostra um monitor<br />

onde signal não bloqueia: quando A chamar signal Y, C e D voltarão para a fila de<br />

entrada, e A continuará executando.<br />

Versão Preliminar<br />

[ 27 de outubro de 2010 at 15:47 ]<br />

255

Hooray! Your file is uploaded and ready to be published.

Saved successfully!

Ooh no, something went wrong!