c#检查任务是否正在运行

时间:2012-11-23 11:57:09

标签: asp.net .net c#-4.0 asp.net-mvc-4

我需要能够检查特定任务是否正在运行:

            Task.Run(() =>
                {
                    int counter = 720;
                    int sleepTime = 7000;
                    int operationId = 0;
                    Thread.CurrentThread.Name = "GetTasksStatusAsync";
......

所以在我的代码中另一个类的某个地方,我需要检查“GetTasksStatusAsync”是否正在运行。 感谢

2 个答案:

答案 0 :(得分:4)

怎么样

Task t = Task.Run(() => ...);

if(t.Status.equals(TaskStatus.Running))
{
    //task is running
}

基本上我会将我的任务存储在某个地方,并使其可供其他课程使用。然后,您可以使用上面的代码检查任务的状态。请参阅TaskStatus-Documentation

答案 1 :(得分:2)

这对我有用。

Task t = Task.Run(() => ...);

if(t.IsCompleted.Equals(false))  // or if(t.Status.Equals(TaskStatus.WaitingForActivation)
{
}