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

A seguir: Aula 8 - Exercícios Acima: Escalonamento de uma impressora Anterior: Escalonamento de uma impressora


Árvores-B: Solução (cont)


		 void requestWrite() {
		 		 lock(mutex);
		 		 myTicket = ticket++;
		 		 while ((nr > 0)  \ensuremath{\parallel} (!waiting.iAmTheBest(myTicket))) {
		 		 		 waiting.enter(myTicket, mutex);
		 		 }
		 		 nww++; nwr-;
		 		 waiting.ok(myTicket);
		 		 unlock(mutex);
		 }
		 void releaseWrite() {
		 		 lock(mutex);
		 		 nww-;
		 		 waiting.select(mutex);
		 		 unlock(mutex);
		 }
		 void releaseRead() {
		 		 lock(mutex);
		 		 nr-;
		 		 waiting.select(mutex);
		 		 unlock(mutex);
		 }



Osvaldo Carvalho