UFMG - Pós-graduação em Ciência da Computação - Programação Paralela

A seguir: O Par Produtor-Consumidor: Buffer Acima: Regiões Críticas Anterior: Regiões Críticas


O Par Produtor-Consumidor: Processos

\includegraphics [width=\textwidth]{ProdCons.eps}


void Produce(void) $\{$		 while (true) do $\{$		 		 ... /* produz o caracter c */
		 		 while(!Put(c));
		 		 /* insiste ate conseguir colocar no buffer*/
		 $\}$$\}$ 
 
void Consume(void) $\{$		 while (true) do $\{$		 		 while(!Get(&c)); /* insiste ... */
		 		 ... /* consome o caracter c */
		 $\}$$\}$ 
void main(void) $\{$		 cobegin 
		 		 Produce(); $\parallel$ Consume();
		 coend 
$\}$



Osvaldo Carvalho