]> 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.
 
 
 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.
 
 
 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.
 pasándole por parámetro que palitos tiene a su lado y el Monitor.