如果某种方法需要花费大量时间,我应该将其实现为异步吗?
或者可能在另一个Thread
中使用同步(例如使用BackgroundWorker
)?
答案 0 :(得分:4)
当你有工作项目应该在后台处理并且你在完成时关心时,会使用异步调用
如果您有一个在后台运行且需要与UI交互的任务,请使用BackgroundWorker。如果你在完成任务时不在乎,就使用它。编组数据和对UI线程的方法调用的任务是通过其基于事件的模型自动处理的。
如果(1)您的程序集尚未引用System.Windows.Form程序集,(2)您需要将该线程作为前台线程,或(3)您需要操纵线程优先级,请避免使用BackgroundWorker。