此BackgroundWorker当前正忙,无法同时运行多个任务
如果我单击一个启动backgroundworker两次的按钮,我会收到此错误。
This BackgroundWorker is currently busy and cannot run multiple tasks concurrently
我怎么能避免这个?
没有找到相关结果
已邀请:
4 个回复
梆晨灸碾
属性检查它是否已在运行,因此只需更改此代码:
对此:
更新: 如果确实需要同时启动多个后台任务,则只需创建多个BackgroundWorker对象即可
扇献隙
试试这个:
犀寺扦
味芯憨
在这种情况下,有一个竞争条件:第一个实例实例化一个新的后台工作程序,第二个实例到达
并启动后台工作程序,在第一个实例到达
块的RunWorkerAsync之前,当它执行时它会抛出错误。 通过向整个if + if else部分添加锁定可以避免这种情况。