我有一个类以相当快的频率(每 100 毫秒)触发一个事件。为了避免减慢这个过程,事件处理程序应该将处理交给某种后台任务/线程/工作者(而不是在事件处理程序中进行)。
最好的方法是什么?我应该Task.Factory.StartNew
在事件处理程序中使用吗?如此快速地创建任务是否会有开销(例如,5 个事件处理程序将每 100 毫秒创建 5 个任务)?或者我可以使用BackgroundWorker
(在订阅者的构造函数中实例化),并在事件处理程序中调用 .RunAsync 方法?
我有一个类以相当快的频率(每 100 毫秒)触发一个事件。为了避免减慢这个过程,事件处理程序应该将处理交给某种后台任务/线程/工作者(而不是在事件处理程序中进行)。
最好的方法是什么?我应该Task.Factory.StartNew
在事件处理程序中使用吗?如此快速地创建任务是否会有开销(例如,5 个事件处理程序将每 100 毫秒创建 5 个任务)?或者我可以使用BackgroundWorker
(在订阅者的构造函数中实例化),并在事件处理程序中调用 .RunAsync 方法?