Desarrollo en Microsoft Visual Studio – Examen Módulo 32 – Hilos parte 2

* Respuesta
— Confirmada
+ Erronea

100%

La instrucción lock (C#) o la instruccioón SyncLock Me (VB) son otra manera de hacer uso de la clase

Interlocked
ThreadLock
WaitHandle
Semaphore
–Monitor

Para sincronizar las actividades de varios threads no se recomienda utilizar

–Thread.Suspend
Mutex
ManualResetEvent
–Thread.Resume
Monitor
AutoResetEvent

________ es un primitiva de sincronización definida por el usuario que permite que varios subprocesos (denominados participantes) trabajar simultáneamente en un algoritmo en fases

* Barrier
+ SpinLock
SpinWait
InterLocked
SemaphoreSlim

De los temporizadores existentes en el .Net Framework este no sige el modelo de eventos

System.Windows.Forms.Timer
System.Timers.Timer
System.Timers.ReverseClock
System.Threading.FastClock
–System.Threading.Timer

Un interbloqueo tiene lugar cuando

el número de CPUs (o cores) es excedido por el número de threads en ejecución
cuando un recurso queda bloqueado por un thread que ya no existe pues la aplicación se ha cerrado abruptamente
* dos threads intentan bloquear un recurso que ya ha bloqueado uno de estos threads
+ dos threads han bloqueado un recursos que ya ha sido bloqueado por uno de estos threads
dos recursos son accedidos por el mismo thread en el mismo instante

Existen en el Framework

* ReaderWriterLockSlim
* ReaderWriterLock
+ ReaderWriterSlimLock
ReaderSlimWriterLock
ReaderAnyWriterOnlyLock

________es un tipo de sincronización ligero que se puede utilizar en escenarios de bajo nivel para evitar los costosos cambios de contexto y las transiciones del kernel que se requieren para los eventos de kernel

* SpinWait
SpinWaitSlim
SpinLockSlim
SpinLock
+ WaitSpin