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

A seguir: Leitores e Escritores: solução Acima: O Problema dos Leitores Anterior: O Problema dos Leitores


Leitores e Escritores: solução sujeita a starvation - 1

 


key mutex; bed b;
int nr = 0, nw = 0;
 
void requestWrite(void) {
		 lock(mutex);
		 		 while((nr > 0) || (nw > 0)) {
		 		 		 wait(b,mutex);
		 		 }
		 		 nw++;
		 unlock(mutex);
}
 
void requestRead(void) {
		 lock(mutex);
		 		 while(nw > 0) {
		 		 		 wait(b,mutex);
		 		 }
		 		 nr++;
		 unlock(mutex); 
} 



Osvaldo Carvalho