programação concorrente

913 palavras 4 páginas
UNIVERSIDADE FEDERAL DE MINAS GERAIS
ESCOLA DE ENGENHARIA
DEPARTAMENTO DE ENGENHARIA ELETRÔNICA
AUTOMAÇÃO EM TEMPO REAL
PROFESSOR: Constantino Seixas Filho

LISTA I (com consulta)

1) [20 pontos] Problema do buffer circular revisitado
Modifique a solução do problema dos buffers circulares apresentado no capítulo 3 para a seguinte situação: Existe 1 produtor e n consumidores. Cada mensagem depositada pelo produtor deve ser consumida por todos os n consumidores. O slot só será liberado quando todos os consumidores efetuarem sua leitura. Cada consumidor irá receber as mensagens na ordem em que forem depositadas. Diferentes consumidores podem receber as mensagem em tempos diferentes. Um consumidor rápido estará recebendo mensagens muito antes de um consumidor mais lento. Desenvolva o programa em pseudo linguagem.

2) [10 pontos] Questão de tempo ...
Uma thread espera por um evento (EvAtivação). Quando o evento acontece ela deve emitir um pulso de 140 ms ativando a variável BOOL bSet, inicialmente em 0. Após receber um evento EvTerminar a thread deve sair do loop e terminar. Programe a aplicação usando o conjunto de instruções do WNT.
Temporize utilizando Waitable Timers.

3) [10 pontos] Responda à seguinte pergunta:

Duas threads estão sincronizadas através de diretivas de sincronização:

Thread 1:
Executa uma tarefa e avisa à thread 2 que terminou. Em seguida fica a espera de uma nova tarefa.
SetEvent(hEventWorkerThreadDone);
WaitForSingleObject(hEventMoreWorkToBeDone, INFINITE);

Thread 2:
Espera que uma tarefa seja executada e em seguida solicita que outra atividade seja realizada.
WaitForSingleObject(hEventWorkerThreadDone, INFINITE);
PulseEvent(hEventMoreWorkToBeDone);

O procedimento acima é inseguro. Por que ?

A instrução abaixo pode ajudar em algo ? Mostre como.
DWORD SignalObjectAndWait(
HANDLE hObjectToSignal, // Mutex, Semaphore ou Event
HANDLE hObjectToWaitOn, // Mutex, Semphore, Event, Timer, Process,
//

Relacionados

  • Programação concorrente
    1215 palavras | 5 páginas
  • programação concorrente
    1800 palavras | 8 páginas
  • Programação concorrente
    612 palavras | 3 páginas
  • Programação concorrente
    1233 palavras | 5 páginas
  • Programação concorrente
    607 palavras | 3 páginas
  • Programação concorrente
    19330 palavras | 78 páginas
  • Programação Concorrente
    2806 palavras | 12 páginas
  • Programação Concorrente
    1633 palavras | 7 páginas
  • Programação concorrente
    1555 palavras | 7 páginas
  • programaçao concorrente
    11817 palavras | 48 páginas