]> git.llucax.com Git - z.facultad/75.59/filosofos.git/commitdiff
Fix doc3 master darcs_import
authorRicardo Markiewicz <rmarkie@fi.uba.ar>
Thu, 1 Dec 2005 15:51:08 +0000 (15:51 +0000)
committerRicardo Markiewicz <rmarkie@fi.uba.ar>
Thu, 1 Dec 2005 15:51:08 +0000 (15:51 +0000)
doc/filosofos3.txt

index db14dd338bebd6a54518efb0581ce04888159ade..01f240eedef508b726f67eb9e69b880ec1654291 100644 (file)
@@ -1,21 +1,24 @@
-Implementación utilizando Monitores.
+Implementación utilizando Monitores
 
 Cuando el programa inicia, crea la clase Palitos, que es la encargada de administrar
 los palitos para comer. Esta clase garantinza la exclusión mutua utilizando Monitores.
 
-La clase Palitos se tiene dos métodos, uno para obtener un palito y otro para soltarlo.
-Ambos métodos utilizan un monitor. Cuando algun comensal pide un palito el Monitor
-espera que que esé libre en un loop y llamando a wait() y al obtener finalmente el
-palito lo setea en TRUE para indicar que está en uso.
+La clase Palitos se tiene dos métodos, uno para obtener los palitos que le corresponden
+a cada comensal y otro para soltarlos.
+Ambos métodos utilizan el concepto de monitor. Cuando algun comensal pide sus palitos,
+queda a la espera de que estén libre en un loop y llamando a wait(), que lo hace dormir.
+Cuando es despertado y puede finalmente tomar ambos palitos, los setea en TRUE para indicar
+que está en uso. La llamada a wait() hace que otro hilo pueda ingresar a la sección crítica,
+bloqueando al proceso que llamó al wait.
 
-El método solarPalito no hace un loop con el wait, ya que no hay manera de que
-dos procesos llamen el método para liberar el mismo palito. Primero libera
-el palito (seteandolo en FALSE) y luego hace una llamada a notify() para que
-se despierte un thread que esté esperando por un palito.
+El método solarPalitos no hace un loop con el wait, ya que no hay manera de que
+dos procesos llamen el método para liberar los mismo palitos. Primero libera
+los palitos (seteandolos en FALSE) y luego hace una llamada a notify() para que
+se despierte un thread que esté esperando.
 
 La lógica de los filosofos, representada por la clase del mismo nombre, es similar
 a las demás. Empiezan pensando y luego trata de obtener los palitos y cuando lo hace
 pasa a comer. En todas las acciones siempre se queda un tiempo aleatoreo.
 
-El programa principal crea primero el monitor de palitos y luego los N folósofos
+El programa principal crea primero el monitor de palitos y luego los N filósofos
 pasándole por parámetro que palitos tiene a su lado y el Monitor.