我有时会得到一个异常,即我的BackgroundWorker在使用IsBusy方法检查它的状态后已经在运行。
代码:
if(!_worker.IsBusy)
_worker.RunWorkerAsync(stateObj); //<-- exception is thrown here
我不会从其他任何地方打电话给工人,所以我很难理解如何处理这个问题。我应该忽略它吗?或者让它自己调用?
(例如)
void CallWorker(object stateObj)
{
try
{
if(!_worker.IsBusy)
_worker.RunWorkerAsync(stateObj);
}
catch (Exception e)
{
//ignore OR
//CallWorker(stateObj);
}
}