Diferencia entre revisiones de «Solución de los ejercicios de concurrencia»
De Wiki de Sistemas Operativos
(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 12: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