繁体   English   中英

在 C# 中使用多个定时器

[英]Using Multiple Timers in C#

我想在我的代码中使用多个计时器来处理不同时间间隔的 api 调用。 我发现了对多个计时器的不同意见。 虽然我可以使用一个间隔更短的计时器,但为了清洁,我更喜欢使用多个计时器。

计时器通常用于进行 api 调用并检查交易所的市场价格/管理订单。

我担心两件事。 1. 在另一个定时器的 Eventhandler 期间发生定时器中断 2. 在 Eventhandler 代码完成运行之前发生定时器中断。

如果我在 Timer1 EventHandler 期间使用 Timer2.Stop() 会暂停计时器还是重置它?

任何帮助将不胜感激,谢谢!

private void Timer1_Tick(object sender, EventArgs e) {
 Timer2.Stop(); //
 Timer1.Stop(); //

 /// Process Timer1 Functions


 Timer2.Start(); // Does this reset the count?
 Timer1.Start(); // 
}

不要在单个计时器的滴答事件中引用第二个计时器。 让每个定时器独立运行:

private void Timer1_Tick(object sender, EventArgs e)
{
    // Perform first API call
}

private void Timer2_Tick(object sender, EventArgs e)
{
    // Perform second API call
}

也不要试图停止和启动计时器。 除非这些计时器需要以高度同步的方式或具有非常严格的时间容差来做事。

暂无
暂无

声明:本站的技术帖子网页,遵循CC BY-SA 4.0协议,如果您需要转载,请注明本站网址或者原文地址。任何问题请咨询:yoyou2525@163.com.

 
粤ICP备18138465号  © 2020-2024 STACKOOM.COM