RegisterWaitForSingleObject与System.Timers

问题描述 投票:1回答:1

等待特定时间后,我需要执行代码。这应该异步发生而不阻塞我的线程。我在网上搜索,发现有很多方法可以做到这一点。有两个选项是使用System.Timers或使用RegisterWaitForSingleObject和ManualResetEvent。

我无法真正弄清两者之间的区别,或者什么时候更喜欢一个。您能简要告诉我为什么以及何时将Timers或RegisterWaitForSingleObject与ManualResetEvent一起使用吗?

旁注:我喜欢TAP和TPL,并且通常比其他模式更喜欢它们(但这是不使用System.Timer的唯一原因吗?]

c# .net-core timer async-await task-parallel-library
1个回答
0
投票

您使用WaitForSingleObject等待,直到信号通知对象处于特定状态。或发生超时。所以这不是您想要做的。您希望代码在特定时间内被“暂停”。所以这里的“时间”是主要结果。

我将尝试使用Task.Delay(ms)。这似乎是当今最方便的方法。

© www.soinside.com 2019 - 2024. All rights reserved.