Diferencia entre revisiones de «Solución de los ejercicios de concurrencia»

De Wiki de Sistemas Operativos
Saltar a: navegación, buscar
(Página nueva: | #1| #2| #3| | | | #4| #2| #3| | | | #4| El programa ya termina| H1 |---|---|---| | | |---|---|---| | | |---|---|---| | | | | | ...)
 
(Solución Cerrojos)
Línea 12: Línea 12:
 
En este ejercicio, el hilo 2 se queda esperando continuamente a que el hilo 1 libere el cerrojo para poder acceder a la función.
 
En este ejercicio, el hilo 2 se queda esperando continuamente a que el hilo 1 libere el cerrojo para poder acceder a la función.
 
El programa finaliza en el hilo 1 cuando llega dos veces a la instrucción 4 (bucle for).
 
El programa finaliza en el hilo 1 cuando llega dos veces a la instrucción 4 (bucle for).
 +
 +
Modificación:
 +
 +
Solución:
 +
 +
H1 |i1-i2-i3*          *i4-i1-i2*          *i3-i4>__*
 +
  |
 +
H2 |        *i1-__-__*          *__-__-__*          *i2-i3-i4-i1-i2-i3-i4
 +
  |
 +
-----------------------------------------------------------------------------
 +
    1  2  3  4  5  6  7  8  9  10 11 12  13 14 15  16 17 18 19 20 21 22

Revisión del 13:25 9 may 2011

      | #1| #2| #3|   |   |   | #4| #2| #3|   |   |   | #4| El programa ya termina|
H1    |---|---|---|   |   |   |---|---|---|   |   |   |---|---|---|   |   |   |   |   |
      |   |   |   |   |   |   |   |   |   |   |   |   |   |   |   |   |   |   |   |   |
      |   |   |   | #1| #2| #2|   |   |   | #2| #2| #2|   |   |   |   |   |   |   |   |
H2    |   |   |   |---|---|---|   |   |   |---|---|---|   |   |   |   |   |   |   |   |
      |   |   |   |   |   |   |   |   |   |   |   |   |   |   |   |   |   |   |   |   |
      |___|___|___|___|___|___|___|___|___|___|___|___|___|___|___|___|___|___|___|___|
      0   1   2   3   4   5   6   7   8   9   10  11  12  13  14  15  16  17  18  19  20


En este ejercicio, el hilo 2 se queda esperando continuamente a que el hilo 1 libere el cerrojo para poder acceder a la función. El programa finaliza en el hilo 1 cuando llega dos veces a la instrucción 4 (bucle for).

Modificación:

Solución:

H1 |i1-i2-i3* *i4-i1-i2* *i3-i4>__*

  |

H2 | *i1-__-__* *__-__-__* *i2-i3-i4-i1-i2-i3-i4

  |

   1  2  3   4  5  6   7  8  9   10 11 12  13 14 15  16 17 18 19 20 21 22