C# 我们可以在Task.Run中使用while循环逻辑吗?

C# 我们可以在Task.Run中使用while循环逻辑吗?,c#,C#,我想做一些类似的事情: Task.Run(while(true) { doSomething() } 有合适的方法吗?您可能需要添加一些其他选项 Task.Run(() => { while (true) { doSomething(); }; }); 任务创建选项应该指示这是一个长时间运行的线程 您可能希望包含一个任务取消令牌以允许此线程终止 您可能需要添加一些其他选项 任务创建选项应该指示这是一个长时间运行的线程 您可能希望包含一个任务取消令牌以允许

我想做一些类似的事情:

Task.Run(while(true)
{
doSomething()
}

有合适的方法吗?

您可能需要添加一些其他选项

Task.Run(() => {
    while (true) {
        doSomething();
    };
});
  • 任务创建选项应该指示这是一个长时间运行的线程

  • 您可能希望包含一个任务取消令牌以允许此线程终止


  • 您可能需要添加一些其他选项

  • 任务创建选项应该指示这是一个长时间运行的线程

  • 您可能希望包含一个任务取消令牌以允许此线程终止


  • 嗯,这对真正的线程不是更好吗?你可以这样做,但要通过一个lambda。当然,为什么不呢?但也许有更好的方法来做你想做的事情。如果您解释了为什么要这样做,也许这样可以提供更好的解决方案。我在OpenAsync内部执行此操作,生成另一个线程将有助于不阻塞OpenAsync。我只是不知道如何使用while(true)格式化lambda。嗯,这对真正的线程不是更好吗?你可以这样做,但要通过一个lambda。当然,为什么不呢?但也许有更好的方法来做你想做的事情。如果您解释了为什么要这样做,也许这样可以提供更好的解决方案。我在OpenAsync内部执行此操作,生成另一个线程将有助于不阻塞OpenAsync。我只是不知道如何使用while(true)格式化lambda。