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

A seguir: Observações Acima: Questão 1 - 9 Anterior: Request


Release

release(int n) {

   Node x;

   lock(mutex);
   free_resources += n; // Libera os recursos


   //Acorda quantos processos for poss\'{\i}vel com a quantidade atual
   //de recursos

   while(x=q.getHead() != null && x.n <= free_resources) {

      free_resources -= x.n;
      q.delete(x);
      q.age();
      wakeup(x.b,mutex);

   }

   unlock(mutex);

}



Osvaldo Carvalho