2
我有一堂課以相當快的頻率(每100ms)發起一次活動。爲了避免減慢這個過程,事件處理程序應該將處理交給某種後臺任務/線程/工作者(而不是在事件處理程序中完成)。如何處理後臺線程上的事件?
什麼是最好的方法?我應該在事件處理程序中使用Task.Factory.StartNew
嗎?會不會有快速創建任務的開銷(例如5個事件處理程序會每100毫秒創建5個任務)?或者我可以使用BackgroundWorker
(在訂戶的構造函數中實例化),並在事件處理程序中調用.RunAsync方法?
如果您需要按順序處理事件,第二個選項也很有用。 'BlockingCollection(new ConcurrentQueue ())' –
Jodrell