Mientras lee C# 3.0 en una cáscara de nuez por Joseph y Ben Albahari, me encontré con el siguiente párrafo (página 673, primer párrafo de la sección titulada "de señalización con Esperar y pulso")Explicación de texto en la que rosca en "C# 3.0 en una cáscara de nuez"
"El clase monitor proporciona otra señalización construir a través de dos métodos estáticos, Espere y pulso. El principio es que usted escriba la lógica de señalización usando banderas y campos personalizados (incluidos en cerradura declaraciones), y luego introduzca Espere y comandos de pulso para mitigar el giro de la CPU. La ventaja de este enfoque de bajo nivel es que con sólo Espera, pulso, y la declaración bloqueo, se puede lograr la funcionalidad de AutoResetEvent, ManualResetEvent, y Semáforo, así como WaitHandle métodos estáticos WaitAll y WaitAny. Por otra parte, Wait y pulso puede ser susceptible en situaciones en las todas las manijas de esperar son desafiados con parsimonia."
Mi pregunta es, ¿cuál es la interpretación correcta de la última frase?
- una situación con un gran número decente/de espera, donde se encarga de WaitOne() sólo ocasionalmente se llama en cualquier mango de espera determinado.
- Una situación con un número decente/gran cantidad de identificadores de espera en los que raramente se bloquea más de un hilo en un identificador de espera particular.
- Alguna otra interpretación.
También agradeceríamos ejemplos ilustrativos de tales situaciones y quizás cómo y/o por qué se manejan de manera más eficiente a través de Wait and Pulse en lugar de por otros métodos.
¡Gracias!
Editar: me encontré con el texto online here
Necesita traer más contexto, ya que no todos los que leyeron su pregunta también leyeron el libro. – Vlad
Tal vez Joe Albahari podría estar mirando ... –
@Vlad hecho! @Mitch mmm, puedo esperar :) – RAL