使用. change重置System.Threading.Timer

本文关键字:Threading Timer System 重置 change 使用 | 更新日期: 2023-09-27 18:14:54

谁能解释一下System.Threading.Timer的正确用法?

我有一个服务器客户机确认响应模型。我的目标是做的是重新发送日志消息从服务器,如果没有确认在一段时间后收到。

当第一个消息被发送时,我存储一个Timer;

AutoResetEvent autoEvent = new AutoResetEvent(false);
TestsTimeout timeout = new TestsTimeout(firstTest, _socket);
TimerCallback resendCallback = timeout.ResendMessage;
Timer timeoutTimer = new Timer(resendCallback, autoEvent, timeoutPeriod, timeoutPeriod);

然后,当收到对消息的确认时,我只想将时间重置回来并发送下一条消息。

timeout.Change(0, timeoutPeriod);

现在,我遵循MSDN的例子,然而,0似乎直接调用回调?这是正确的吗?请问正确的做法是什么?

使用. change重置System.Threading.Timer

https://msdn.microsoft.com/en-us/library/yz1c7148(v=vs.110).aspx

指定零(0),立即重启定时器。