Warning: file_get_contents(/data/phpspider/zhask/data//catemap/2/csharp/322.json): failed to open stream: No such file or directory in /data/phpspider/zhask/libs/function.php on line 167

Warning: Invalid argument supplied for foreach() in /data/phpspider/zhask/libs/tag.function.php on line 1116

Notice: Undefined index: in /data/phpspider/zhask/libs/function.php on line 180

Warning: array_chunk() expects parameter 1 to be array, null given in /data/phpspider/zhask/libs/function.php on line 181
C# 总是等待任务完成是一种好的做法吗?_C#_Task Parallel Library - Fatal编程技术网

C# 总是等待任务完成是一种好的做法吗?

C# 总是等待任务完成是一种好的做法吗?,c#,task-parallel-library,C#,Task Parallel Library,对不起,如果这是一个愚蠢的问题。我对wait()及其与任务并行库相关的变体感到困惑 我看到的每一个例子都在等待任务完成——这被认为是好的实践吗 我的设想是,我正在开发一个持续运行的windows服务。我想参与一些任务,但我不在乎它们是否会运行到完成阶段——我将设置一个过期的取消令牌,如果出现问题,它将抛出一个错误。所以我不认为需要等待完成,但每个该死的例子都使用它…这实际上取决于你的情况需要什么。例如,如果您想启动一个子进程来执行一个过程,例如,并行发送一封电子邮件,您无需等待即可完成 然而,如

对不起,如果这是一个愚蠢的问题。我对
wait()
及其与任务并行库相关的变体感到困惑

我看到的每一个例子都在等待任务完成——这被认为是好的实践吗


我的设想是,我正在开发一个持续运行的windows服务。我想参与一些任务,但我不在乎它们是否会运行到完成阶段——我将设置一个过期的取消令牌,如果出现问题,它将抛出一个错误。所以我不认为需要等待完成,但每个该死的例子都使用它…

这实际上取决于你的情况需要什么。例如,如果您想启动一个子进程来执行一个过程,例如,并行发送一封电子邮件,您无需等待即可完成

然而,如果你需要对任何结果或受某些行为影响的结构采取行动,你需要等待


如果您的任务是自包含的,并且彼此不交互和/或相互依赖,那么我不明白您为什么需要等待。

如果正在等待的代码需要任务的输出才能继续,您只需要等待任务。如果不需要输出,不要等待

一,。在文档2中查找
wait()
的功能。“我需要这个吗?”3。是->使用它,否->不使用它您是否关心每个任务中可能抛出的异常,以及它们如何传播?它可能无法按您预期的方式工作:@TimCastelijns我可以而且已经研究了文档。然而,我仍然感到困惑——这就是问题所在。我显然不能胜任你的工作,但是请考虑一下这个论坛是由很多不同的人使用的,有些是我自己的,而不是其他人的能力。“谢谢你,我没有考虑过,但是现在我愿意。我希望我能分享答案,因为他们都对我很满意。我实际上画了一根文字吸管来选择要标记的那个。谢谢你的回答。