C# 总是等待任务完成是一种好的做法吗?
对不起,如果这是一个愚蠢的问题。我对C# 总是等待任务完成是一种好的做法吗?,c#,task-parallel-library,C#,Task Parallel Library,对不起,如果这是一个愚蠢的问题。我对wait()及其与任务并行库相关的变体感到困惑 我看到的每一个例子都在等待任务完成——这被认为是好的实践吗 我的设想是,我正在开发一个持续运行的windows服务。我想参与一些任务,但我不在乎它们是否会运行到完成阶段——我将设置一个过期的取消令牌,如果出现问题,它将抛出一个错误。所以我不认为需要等待完成,但每个该死的例子都使用它…这实际上取决于你的情况需要什么。例如,如果您想启动一个子进程来执行一个过程,例如,并行发送一封电子邮件,您无需等待即可完成 然而,如
wait()
及其与任务并行库相关的变体感到困惑
我看到的每一个例子都在等待任务完成——这被认为是好的实践吗
我的设想是,我正在开发一个持续运行的windows服务。我想参与一些任务,但我不在乎它们是否会运行到完成阶段——我将设置一个过期的取消令牌,如果出现问题,它将抛出一个错误。所以我不认为需要等待完成,但每个该死的例子都使用它…这实际上取决于你的情况需要什么。例如,如果您想启动一个子进程来执行一个过程,例如,并行发送一封电子邮件,您无需等待即可完成 然而,如果你需要对任何结果或受某些行为影响的结构采取行动,你需要等待
如果您的任务是自包含的,并且彼此不交互和/或相互依赖,那么我不明白您为什么需要等待。如果正在等待的代码需要任务的输出才能继续,您只需要等待任务。如果不需要输出,不要等待 一,。在文档2中查找
wait()
的功能。“我需要这个吗?”3。是->使用它,否->不使用它您是否关心每个任务中可能抛出的异常,以及它们如何传播?它可能无法按您预期的方式工作:@TimCastelijns我可以而且已经研究了文档。然而,我仍然感到困惑——这就是问题所在。我显然不能胜任你的工作,但是请考虑一下这个论坛是由很多不同的人使用的,有些是我自己的,而不是其他人的能力。“谢谢你,我没有考虑过,但是现在我愿意。我希望我能分享答案,因为他们都对我很满意。我实际上画了一根文字吸管来选择要标记的那个。谢谢你的回答。