每隔一秒调用一个函数(void)的好方法是什么?

时间:2015-08-15 19:57:38

标签: c# timer statistics

我正在编写一些会生成统计信息的程序。为了记录统计数据,我目前使用一个计时器(设置为1000毫秒)。

但它不准确。我已经看到一段时间后它低于实际时间。我认为这必须对CPU和其他东西做些什么。

所以我的问题是:每秒调用一个函数的好方法是什么?

顺便说一句,这就是我的代码的一部分:

int totalSeconds = 0; // this number was taken from a savefile
int sessionSeconds = 0; // this number is for the session time

bool doUpdateGUI = true; // this is true when the form is shown

private void TimerMAIN_Tick()
{
    totalSeconds++; // increase by 1
    sessionSeconds++; // increase by 1

    if (doUpdateGUI == true)
    {
    updateGUI(); // call the updateGUI void (which updates labels and textboxes)
    }
}
编辑:我自己得到了答案!我这样创建了它:

private void timerTClockEngine_Tick(object sender, EventArgs e) //this timer is set to 100ms
        {
            dt = DateTime.Now;
            if (dt.Second != oldSec)
            {
                TClock_TICK();
                oldSec = dt.Second;
            }
        }

        private void TClock_TICK()
        {
            Ttime++;
            textBoxT.Text = Ttime.ToString();
        }

0 个答案:

没有答案