具有自定义状态的异步方法

时间:2016-08-15 10:53:05

标签: c# multithreading asynchronous

假设我有一个类Job,它有一个长时间运行的方法void Execute(),它在另一个线程中执行(即Task.Run(()=> job.Execute())。

在用户界面中,我需要用一些标签和百分比实时向用户显示正在运行的作业的状态,即“验证”/“等待连接”/“检索数据xx%”/“解析数据xx% “等等。

您建议如何正确实施此操作?我应该在Job类中声明一个GetStatus()方法,在UI中使用计时器进行轮询,在Execute()方法中更新它,并通过一些锁定来了解Race条件?它似乎有点“粗糙”......更优雅的东西?

由于

0 个答案:

没有答案