Dwqdq

15261 palavras 62 páginas
Projeto de uma Linguagem de Programação

Este exemplar corrcsponcle à redação final da tese devidamente corrigida e defendida pelo Sr. Claudio Sergio Da !tós de Carvalho c aprovada pela COiuissi"io julgadora.

C;ttll[li11

accept end; in ITEM) do BUFFER (INX) := Ej
WRITE (E:

INX := INX

mod

SIZE

+ 1j

COUNT ::::: COUNT

+ 1; out ITEM)

or

when

COUNT

>

0

=> do accept end; READ (v:

V:= BUFFER (üUTX)j OUTX := OUTX

mod
~

SIZE 1;

+ 1;

COUNT := COUNT

end select; end loop; end BUFFERlNG j

As variáveis INX e OUTX são os índices extremos da parte correntemente utilizada de BUFFER e COUNT indica quantos itens estão nele armazenados. READ pode somente ser aceito quando BUFFER não está vazio (coUNT > O) e WRITE somente pode ser aceito quando BUFFER não está cheio (coUNT < SIZE). É interessante notar que as variáveis INX, OUTX, COUNT são atualizadas fora do rendezvous. Isso permite que a tarefa chamadora continue tão logo quanto possível. O comando

delay especificação_de_tempo

70

adia a execução da tarefa por, no mmtmo, o intervalo de tempo especificado (múltiplo de unidades básicas do relógio de tempo real- dependente de máquina), de tempo predefinido TIME. Um comando delay pode ser usado no lugar de um comando accept fazendo a parte de sincronização de uma alternativa de um comando select. Tal comando pode ser usado para prover um tempo máximo de espera para o comando select. Após o estouro desse intervalo de tempo, 55 se não tiver ocorrido um rendezvous, o comando seguinte ao delay é executado. Se, ao contrário, o rendezvous ocorre antes do intervalo expirar, o comando delay é interrompido e a execução do select continua normalmente.

5.5.4

MC

MC oferece facilidades de multi programação através da utilização de processos. Um processo é uma entidade que apresenta parâmetros, declarações locais e um corpo que pode ser executado em paralelo com outros processos. A declaração de um

Relacionados

  • dwqdq
    5849 palavras | 24 páginas