.Net Timeouts: WaitForSingleObject vs Timer

Estoy implementando un tiempo de espera en una operación asíncrona (una serie de E / S de red), y no estoy seguro de cuál es la perspectiva "mejor" (desde una asignación / rendimiento): crear un EventWaitHandle y usar RegisterWaitForSingleObject, o simplemente crear un temporizador y usando su garrapata.

En mi caso específico, EventWaitHandle está creado de forma perezosa, pero obviamente debería ser instanciado para usar WaitForSingleObject. Entonces, realmente esta es una pregunta sobre el costo de los recursos de WaitHandle + WaitForSingleObject frente a un temporizador. Ambos enfoques son tan fáciles de implementar.

He implementado ambas en varias ocasiones, por lo que entiendo el terreno, simplemente no estoy seguro de qué enfoque es "mejor".

Respuestas a la pregunta(2)

Su respuesta a la pregunta