- - - - CENAPAD-MGCO

contents index A seguir: Pool de Recursos Idênticos Acima: Árvore B Anterior: Árvore B


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

   void requestWrite() {    
      lock(mutex);  
         Ticket myTicket = q.getTicket(); 
         while ((nr > 0) || (!q.isTheBest(myTicket))) {   
            wait(bed, mutex);  
         }   
         nww++; nwr--;  
         q.ok(myTicket);  
      unlock(mutex);  
   }   
   void releaseWrite() {    
      lock(mutex);  
         nww--;  
         wakeup(bed,mutex);
      unlock(mutex);  
   }   
   void releaseRead() {    
      lock(mutex);  
         nr--;  
         wakeup(bed,mutex);  
      unlock(mutex);  
   }



Osvaldo Carvalho - Postscript - Comentários?