我有一个带有几个进度条的主线程。每个进度条都是DataTable读数的进度,因此我对6个不同的变量(DataTable dt1, ... dt2, ... dt3, ...)
有6个进度条,这就是疼痛开始的地方。
我一直在使用Task,Thread,BackgroundWorker等,我找不到一个干净的方法:
Async
进度DataTable
并将其存储在相应的dt
我已经完成了:
Task t = Task.Factory.StartNew(new Action(() =>
{
dt1 = customProgress.Read<DataTable>("Path");
}));
编辑:事实上,我的问题令人困惑。我会改写它:
是否有更有效的方法通过线程交叉此类信息,或者在MainThread运行时创建一个等待“等待”结果的变量?
答案 0 :(得分:0)
无需等待阻止UI的主线程。相反,您可以在使用Task.Factory.ContinueWhenAll()方法完成所有任务时设置延续。如果要在UI线程上运行此延续,则将scheduler参数作为TaskScheduler.FromCurrentSynchronizationContext()传递