Was ist der Unterschied zwischen Thread.Sleep (Timeout) und ManualResetEvent.Wait (Timeout)?

Both Thread.Sleep (Timeout) und resetEvent.Wait (Timeout) sorgen dafür, dass die Ausführung für mindestens @ unterbrochen wirtimeout Millisekunden, gibt es also einen Unterschied zwischen ihnen? Ich weiß, dass Thread.Sleep den Thread veranlasst, den Rest seiner Zeitspanne aufzugeben, was möglicherweise zu einem Schlaf führt, der viel länger dauert als gewünscht. Hat die Wait (timeout) -Methode eines ManualResetEvent-Objekts das gleiche Problem?

Bearbeite: Mir ist bewusst, dass der Hauptpunkt von ManualResetEvent von einem anderen Thread signalisiert werden soll. Im Moment befasse ich mich nur mit der Wait-Methode eines Ereignisses mit einer festgelegten Zeitüberschreitung und keinem anderen Aufrufer, der das Ereignis einstellt. Ich möchte wissen, ob es zuverlässiger ist, rechtzeitig aufzuwachen als Thread.Sleep

Antworten auf die Frage(12)

Ihre Antwort auf die Frage