9

TaskCompletionSource用来提供和驱动Task. 我希望能够将Task状态设置Running为指示任务正在...“运行”但是我看不到通过TaskCompletionSource.

有没有办法做到这一点?

4

1 回答 1

4

不,没有办法。

然而,不管你喜不喜欢我的回答,它都是正确的。:-)

以下是我的意见,并试图帮助您感觉更好。

Task.Status 有几个状态,只有在任务是计划任务时才设置和有用。TaskCompletionSource 中的任务不是计划任务。WaitingToRun、Running 等概念因此不适用于传统的计划任务意义。如果您确实有能力设置这些值,则必须决定将哪些语义应用于这些值,这可能与其他人对它们的解释方式相冲突。

最终,我认为您的代码无论如何都不应该根据这些中间状态做出任何决定。这样做听起来像是“代码味道”。

于 2013-03-03T18:18:26.623 回答