gpt4 book ai didi

c# - 为什么我们需要 ContinueWith 方法?

转载 作者:IT王子 更新时间:2023-10-29 04:49:03 27 4
gpt4 key购买 nike

为什么我们需要 Task.ContinueWith() 方法。我们不能只在任务主体中编写“延续代码”吗?

最佳答案

Sasha Goldshtein 的回答是正确的。在某些情况下,您的“继续”组合代码无法直接访问,甚至无法设置任务的执行方法。例如,想要聚合任务的可插拔系统。

但是,还有另一个可能适用的原因。粒度

考虑可能引起使用 TaskCreationOptions.LongRunning 的要求.在调度、执行和完成数百个进程的并行系统中,任务调度器致力于在调度任务时促进高效的处理器亲和性。

如果您处于可以将任务分解为细粒度子任务并将它们链接起来的情况,您将不再需要使用 TaskCreationOptions.LongRunning .简单来说,这会表现得更好,因为在只有 4 个核心可用的环境中,安排 100 个小任务同时完成比安排 10 个大任务完成相同任务更容易。请记住,不能保证链式任务在其先行任务之后立即开始。

这是一个有趣的问题,只有当您想要一个可扩展的系统时才会成为问题。

如果您问我,您应该尽可能使用 ContinueWith(),因为它有助于您的应用扩展。

关于c# - 为什么我们需要 ContinueWith 方法?,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/6466605/

27 4 0
Copyright 2021 - 2024 cfsdn All Rights Reserved 蜀ICP备2022000587号
广告合作:1813099741@qq.com 6ren.com