有没有一种方法可以将通过TaskCompletionSource驱动的任务设置为状态';正在运行';

本文关键字:设置 任务 状态 运行 TaskCompletionSource 一种 方法 有没有 | 更新日期: 2023-09-27 17:58:53

我使用TaskCompletionSource来提供和驱动Task的实例。我希望能够将Task设置为状态Running,以指示任务…"正在运行",但我看不到通过TaskCompletionSource实现这一点的方法。

有办法做到这一点吗?

有没有一种方法可以将通过TaskCompletionSource驱动的任务设置为状态';正在运行';

否。没有办法。

不管你是否喜欢我的答案,它都是正确的

以下是我的观点,并试图帮助你感觉更好。

任务。状态有几个状态,这些状态只有在任务是计划任务时才设置并有用。TaskCompletionSource中的任务不是计划任务。因此,WaitingToRun、Running等概念在传统的计划任务意义上不适用。如果你有能力设置这些值,你就必须决定对这些值应用什么语义,这可能会与其他人对它们的解释相冲突。

最终,我认为您的代码不应该基于这些中间状态做出任何决定。这样做听起来像是"代码气味"。