我使用的是通过回调返回图像的摄像机的API,像这样:在不同的线程执行回调
camera.StartCapture(ImageEvent);
protected void ImageEvent(ManagedImage image)
{
// do something with the image
}
的问题是,ImageEvent
不断被调用,不让其他方法正确运行。所以我想在不同的线程中运行ImageEvent
,我该怎么做?
使用异步/等待的解决方案将是更可取的。
您可以在另一个线程中运行'StartCapture'。这个'ManagedImage'与UI有什么关系?如果是这样,你会得到一些多线程访问问题。 – Stefan
@Stefan,所以如果我从新线程传递委托,委托方法将在这个新线程中运行?另外,它不是UI相关的。 –
你能解释一下你的'不让其他方法正常运行'问题多一点吗?如果你不显示图像,你是否处理它们并将它们写入磁盘?你有没有检查你的硬盘的活动? – Stefan