我使用的是通過回調返回圖像的攝像機的API,像這樣:在不同的線程執行回調
camera.StartCapture(ImageEvent);
protected void ImageEvent(ManagedImage image)
{
// do something with the image
}
的問題是,ImageEvent
不斷被調用,不讓其他方法正確運行。所以我想在不同的線程中運行ImageEvent
,我該怎麼做?
使用異步/等待的解決方案將是更可取的。
您可以在另一個線程中運行'StartCapture'。這個'ManagedImage'與UI有什麼關係?如果是這樣,你會得到一些多線程訪問問題。 – Stefan
@Stefan,所以如果我從新線程傳遞委託,委託方法將在這個新線程中運行?另外,它不是UI相關的。 –
你能解釋一下你的'不讓其他方法正常運行'問題多一點嗎?如果你不顯示圖像,你是否處理它們並將它們寫入磁盤?你有沒有檢查你的硬盤的活動? – Stefan