我将使用在我的应用程序上运行的大量任务。由于某种原因,每组任务都在运行。我想为这些任务命名,这样当我查看“并行任务”窗口时,我可以轻松识别它们。
从另一个角度来看,考虑我正在使用框架级别的任务来填充列表。使用我的框架的开发人员也在使用任务来完成她的工作。如果她查看并行任务窗口,她会发现一些任务不知道。我想命名任务,以便她可以将框架任务与她的任务区分开来。
如果有这样的API会很方便:
var task = new Task(action, "Growth calculation task")
或许:
var task = Task.Factory.StartNew(action, "Populating the datagrid")
甚至在与Parallel.ForEach
Parallel.ForEach(list, action, "Salary Calculation Task"
是否可以命名任务?
是否可以给 <code>Parallel.ForEach 一个命名结构(可能使用 lambda),以便它使用该命名创建任务?
我错过了这样的API吗?
我还尝试使用继承的任务来覆盖它的 ToString()。但不幸的是,并行任务窗口不使用 ToString()!
class NamedTask : Task
{
private string TaskName { get; set; }
public NamedTask(Action action, string taskName):base(action)
{
TaskName = taskName;
}
public override string ToString()
{
return TaskName;
}
}