递归Task.Run(async)的性能

如果我有一个以这种方式调用另一个方法的方法:

private void MyMethod()
{
    // get a command object in a queue to process.
    var currentObject = this.Queue.Pop();

    // now call itself recursively for next command object in queue...
    Task.Run(async () => {

      // begin awaited async execution of the command object...
      // end of execution

      // do a recursive call once awaited async operation above is done
      this.MyMethod();

    });
}

我基本上有一个需要以异步方式执行的对象队列。直到上一个对象完成才执行每个连续对象。

这些异步任务的递归调用是否会对性能产生影响和/或产生负面影响?

评论