Semafaro so
Instruções:
Não há instruções de uso
Requisitos:
Ambiente de programação Eclipse
Atividade:
Utilize as classes Producer / Consumer na sala virtual. Qual o comportamento das classes na execução?
Existe um contador que gera um número aleatório, onde multiplicamos pelo inteiro “NAP_TIME” que é uma constante com o valor definido na classe “Server”, em seguida multiplica por 1000 que equivale a 1 segundo. As duas classes possui uma condição declarada em outra classe declarada como “MessageQueue” assim o código pode falhar.
Com relação a comunicação inter-processo, como a classe Message Queue pode ser classificada nos critérios e características vistas nos slides (pág 65 e 66) da transparência aula 00 (stallings).
MessageQueue é uma classe que abrange uma técnica permitindo que exista comunicação entre as aplicações através de chamadas armazenada na memória.classe.
Pode haver condição de corrida? Defina e exemplifique esse processo.
Sim, isso acontece quando existe vários threads acessando e executando dados homogêneos (mesmo tipo) simultaneamente.
Temos como exemplo uma situação que 2 ou mais processos e threads compartilham dados (leitura e gravação) sendo o resultado dependende do escalonamento de Threads.
Analise as classes Reader e Writer, qual a função desempenhada pela classe Database? Nestas condições existe o risco de condição de corrida?
A classe Database desempenha função de armazenamento de dados ou arquivos que serão acessados pelo Reader e em seguindo modificado pelo Writer. O risco de corrida é dependente da situação, por exemplo se o dado for utilizado sem modificação vários leitores terão acesso, caso seja para modificação apenas o escritor (Writer) terá