There is a process which is executed in a task. I do not want more than one of these to execute simultaneously.
Is this the correct way to check to see if a task is
As suggested by Jon Skeet, the Task.IsCompleted is the better option.
Task.IsCompleted
According to MSDN:
IsCompleted will return true when the task is in one of the three final states: RanToCompletion, Faulted, or Canceled.
IsCompleted
RanToCompletion
Faulted
Canceled
But it appears to return true in the TaskStatus.WaitingForActivation state too.
TaskStatus.WaitingForActivation