Search Header Logo

Repaso de mecanismo de sincronización

Authored by Guillermo Echichure

Other

University

Used 4+ times

Repaso de mecanismo de sincronización
AI

AI Actions

Add similar questions

Adjust reading levels

Convert to real-world scenario

Translate activity

More...

    Content View

    Student View

6 questions

Show all answers

1.

MULTIPLE CHOICE QUESTION

20 sec • 3 pts

Media Image

¿Cuál de las siguientes opciones muestra el uso correcto de la clase Monitor para sincronización de hilos?

monitor.Enter(lockObj) try { }

finally

{

lock.Exit(lockObj)

}

Monitor.Enter(lockObj) try

{

Monitor.Exit(lockObj)

}

finally

{ }

try

{

Monitor.Exit(lockObj)

}

finally

{

Monitor.Enter(lockObj)

}

Monitor.Enter(lockObj) try

{

}

finally

{

Monitor.Exit(lockObj)

}

2.

MULTIPLE CHOICE QUESTION

30 sec • 5 pts

Media Image

Elija la afirmación correcta acerca de lock y monitor:

Es recomendable tener todo el código crítico de un programa dentro de un lock o monitor para asegurar la sincronización completa de los hilos.

Tener mucho código dentro de un lock o monitor no es buena práctica. Lo mejor es tener la mínima cantidad de código dentro del lock para limitar el tiempo que esperan los otros hilos.

Mientras más código coloques dentro de un lock, más seguro será el acceso a los recursos compartidos.

Para evitar errores de sincronización, es buena práctica mantener los bloqueos (lock o monitor) activos durante todo el ciclo de vida de un hilo.

Answer explanation

Es recomendable tener todo el código crítico de un programa dentro de un lock o monitor para asegurar la sincronización completa de los hilos.

  • Error: Tener mucho código dentro de un lock o monitor reduce la eficiencia al aumentar el tiempo que los hilos deben esperar.

    Mientras más código pongas dentro de un lock, más seguro será el acceso a los recursos compartidos.

    • Error: Aumentar la cantidad de código dentro de un lock no incrementa la seguridad, sino que aumenta las probabilidades de bloqueos y afecta el rendimiento.

      Para evitar errores de sincronización, es buena práctica mantener los bloqueos (lock o monitor) activos durante todo el ciclo de vida de un hilo.

      • Error: Mantener bloqueos por mucho tiempo no es eficiente ni necesario, ya que los recursos compartidos deben protegerse solo durante la operación crítica.

3.

MULTIPLE CHOICE QUESTION

20 sec • 3 pts

Media Image

¿Que comportamiento equivalente tiene este código ?

lock(myLock) 

     //Critical code 

Monitor.Enter(myLock); 

try 

     // Critical code 

finally 

      Monitor.Exit(myLock); 

}

Monitor.Enter(myLock);

try

{

// Critical code

}

catch

{

Monitor.Exit(myLock);

}

Monitor.Enter(myLock); // Critical code Monitor.Exit(myLock);

Monitor.Enter(myLock); try

{

// Critical code Monitor.Exit(myLock);

}

finally

{

// Some cleanup code

}

4.

MULTIPLE CHOICE QUESTION

30 sec • 3 pts

Media Image

Elija la afirmación correcta acerca de: Mutex, Lock y Monitor

Lock > Monitor > Mutex

Monitor > Lock = Mutex

Mutex = Monitor > Lock

Mutex > Monitor > Lock

5.

MULTIPLE CHOICE QUESTION

30 sec • 5 pts

Media Image

Los semaforos .....

solo permiten un hilo a la vez en la sección crítica

son similares a monitor y a mutex, pero te dejan definir un límite de threads que pueden ingresar a la zona de mutua exclusión (patio).

son ideales para cualquier problema de sincronización, ya que son muy flexibles

son más complejos que los mutex y no requieren variables de condición

6.

MULTIPLE CHOICE QUESTION

30 sec • 3 pts

Media Image

lock (obj)
{

Procesar();

}
¿Que código produce el mismo comportamiento utilizando semáforos ?

Media Image
Media Image
Media Image
Media Image

Access all questions and much more by creating a free account

Create resources

Host any resource

Get auto-graded reports

Google

Continue with Google

Email

Continue with Email

Classlink

Continue with Classlink

Clever

Continue with Clever

or continue with

Microsoft

Microsoft

Apple

Apple

Others

Others

Already have an account?