系统定时器计时器处理问题

时间:2011-07-21 12:43:21

标签: c# timer dispose

我正在c#上开发一个聊天应用程序,并且我们使用system.timer.timer来频繁获取新请求和区域请求的数据。

所有的东西都运行正常,但是当我从应用程序退出时,这个系统计时器仍然在后台运行并产生错误。所以我在注销时处理所有系统计时器。

请帮助我。

提前致谢

3 个答案:

答案 0 :(得分:1)

退出时需要致电Stop()

答案 1 :(得分:0)

我想象你已经尝试Stop()Close()了。如果是这样,解决方案可能是:在关闭期间,应用程序使Sleep()几秒钟主线程让定时器的线程释放之前分配的资源。

应用程序中也可能存在一个错误,由于某种原因会阻止计时器的线程,但是很难对我说,你应该自己检查一下。

希望这会有所帮助。

问候。

答案 2 :(得分:0)

我会说这是阻止你的程序的其他东西。 System.Timers.Timer在线程池中创建一个线程,这意味着它是一个后台线程,这意味着它会在你的主线程关闭时关闭。

我认为这是您在timer_elapsed函数中执行的请求,该函数在主线程上运行。