PUERTA | Maqueta de puerta 2017 | Pregunta 30

Considere el siguiente código C para el proceso P1 y P2. a=4, b=0, c=0 (inicialización)

     P1                      P2
  if (a < 0)                b = 10;    
    c = b-a;                a = -3;
  else
    c = b+a;

Si los procesos P1 y P2 se ejecutan simultáneamente (variables compartidas a, b y c), ¿cuál de los siguientes no puede ser el valor de ‘c’ después de que ambos procesos se completen?

(A) 4
(B) 7
(C) 10
(D) 13

Respuesta: (C)
Explicación:

P1 : 1, 3, 4 -> c = 0+4 =4 {de ahí la opción a}
P2 : i, ii y P1 : 1, 2 -> c = 10-(-3) = 13 {de ahí la opción d}
P1 : 1 , P2 : i, ii y P1 : 3, 4 -> c= 10+(-3) = 7 { de ahí la opción b}
Entonces 10 no puede ser un valor c.

Cuestionario de esta pregunta

Publicación traducida automáticamente

Artículo escrito por GeeksforGeeks-1 y traducido por Barcelona Geeks. The original can be accessed here. Licence: CCBY-SA

Deja una respuesta

Tu dirección de correo electrónico no será publicada. Los campos obligatorios están marcados con *