【发布时间】:2012-07-24 03:48:56
【问题描述】:
我编写了一个 C# 应用程序,它与 2 个附加设备一起工作,即。显示图像的数字显微镜和返回计数器的计数装置。这两个设备同时运行并生成指示图像和计数器值变化的事件。
显微镜产生以下事件:
void _ImageCaptured(object source, WebcamEventArgs e)
{
}
And counter generates below event:
void _OnRegisterValueChanged(object sender, RegisterChangeEventArgs args)
{
}
作为单线程应用程序,我当前的应用程序无法以相同的速度获取图像和计数器值,并且它们之间存在一些滞后。我想让这个应用程序多线程并在单独的线程中处理这两个事件。感谢您为实现这一目标提供的任何帮助。
【问题讨论】:
-
您可能没有创建线程,但通常 C# 事件是从 ThreadPool 执行的。那么是什么产生了这些事件呢?你会做一些 beginRead() 或 beginReceive() 吗?或者你是从你的事件处理程序中调用 invoke() 并在 UI 线程上处理它们?
标签: c# multithreading event-handling