【发布时间】:2015-05-18 09:34:03
【问题描述】:
我知道这个问题已经在 SO 上被问过很多次了,但是没有一个能够解决我的问题。 我想使用线程每 10 秒调用一次函数。
我有一个进行帧处理的函数。我希望能够在每 10 秒后抓取一帧,然后对其进行处理。我的研究表明,最好为此目的使用线程,并且由于我需要在特定时间段后执行它,因此我还需要一个计时器控件。
我无法弄清楚如何同时使用线程和计时器。此外,我尝试使用BackgroundWorker 控件,它在处理时严重挂断了我的应用程序。我也尝试过使用计时器控件并尝试每 10 秒调用一次该函数,但在这种情况下,如果进程超过 10 秒可能会导致一些问题。
非常感谢任何可以向我展示如何使用线程每 10 秒调用一次函数的示例或源代码。
【问题讨论】:
-
如果超过 10 秒,您想要发生什么? “可能会导致一些问题”到底是什么意思?您的调用是否需要在 UI 线程中执行?
-
我认为您使用的代码对于理解您的问题以及如何解决它非常有帮助
-
@Jon Skeet:好吧,如果需要超过 10 秒,我希望它完成处理,然后移动到下一帧进行处理..问题我的意思是它可以挂起应用程序..是的处理完帧后,我需要对 UI 线程进行更多处理..
标签: c# multithreading