Diferencia entre revisiones de «Solución de los ejercicios de concurrencia»
De Wiki de Sistemas Operativos
| Línea 1: | Línea 1: | ||
| − | | #1| #2| #3| | | | #4| # | + | | #1| #2| #3| | | | #4| #1| #2| | | | #3| #4|El programa ya termina | |
H1 |---|---|---| | | |---|---|---| | | |---|---|---| | | | | | | H1 |---|---|---| | | |---|---|---| | | |---|---|---| | | | | | | ||
| | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | ||
| − | | | | | #1| #2| #2| | | | #2| #2| #2| | | | | + | | | | | #1| #2| #2| | | | #2| #2| #2| | | | #2| #3| #4| #1| #2| #3| #4| El programa termina. |
| − | H2 | | | |---|---|---| | | |---|---|---| | | | | + | H2 | | | |---|---|---| | | |---|---|---| | | |---|---|---|---| | |
| | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | ||
|___|___|___|___|___|___|___|___|___|___|___|___|___|___|___|___|___|___|___|___| | |___|___|___|___|___|___|___|___|___|___|___|___|___|___|___|___|___|___|___|___| | ||
Revisión del 12:32 9 may 2011
| #1| #2| #3| | | | #4| #1| #2| | | | #3| #4|El programa ya termina |
H1 |---|---|---| | | |---|---|---| | | |---|---|---| | | | | |
| | | | | | | | | | | | | | | | | | | | |
| | | | #1| #2| #2| | | | #2| #2| #2| | | | #2| #3| #4| #1| #2| #3| #4| El programa termina.
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:
| #1| #2| #3| | | | #4| #1| #2| | | | #3| #4| > | | | | | | | |
H1 |---|---|---| | | |---|---|---| | | |---|---|---| | | | | | | |
| | | | | | | | | | | | | | | | | | | | | | |
| | | | #1| __| __| | | | __| __| __| | | | #2| #3| #4| #1| #2| #3| #4
H2 | | | |---|---|---| | | |---|---|---| | | |---|---|---|---|---|---|---|
| | | | | | | | | | | | | | | | | | | | | | |
|___|___|___|___|___|___|___|___|___|___|___|___|___|___|___|___|___|___|___|___|___|___|
0 1 2 3 4 5 6 7 8 9 10 11 12 13 14 15 16 17 18 19 20 21 22