Asp.net

c# 檢查任務是否正在執行

  • October 22, 2019

我需要能夠檢查特定任務是否正在執行:

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

所以在我的程式碼中另一個類的某個地方我需要檢查“GetTasksStatusAsync”是否正在執行。謝謝

怎麼樣

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

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

基本上我會將我的任務儲存在某個地方,並讓其他類可以訪問它們。然後您可以使用上面的程式碼檢查任務的狀態。請參閱任務狀態文件

這對我有用。

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

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

引用自:https://stackoverflow.com/questions/13528668