C#中的Task.WaitAll挂起了任务的执行

米拉德·侯赛因·帕纳西(Milad Hosseinpanahi)

我有一个像下面这样的课程

public class ImageUploader
{
   ....

   public Task<string> Upload()
   {
      return new Task<string>(
                () =>
                    {
                        ....

                        return UploadedFilePath;
                    }
            );
   }
   ....
}

然后我就这样使用它

var uploadIcon = new ImageUploader();
var uploadLogo = new ImageUploader();

var uploadIconTask = uploadIcon.Upload();
var uploadLogoTask = uploadLogo.Upload();

Task.WaitAll(uploadIconTask, uploadLogoTask); // never returns

和Task.WaitAll永远挂起!

问题是什么?!

sl

它挂起,因为您从未启动任务。所以WaitAll在等待他们完成,他们绝不会因为他们从来没有开始。

如果查看Task.WaitAll的文档,您将看到StartNew()用于创建的任务-这将创建并启动任务。

本文收集自互联网,转载请注明来源。

如有侵权,请联系[email protected] 删除。

编辑于
0

我来说两句

0条评论
登录后参与评论

相关文章

来自分类Dev

C#中的Task.WaitAll挂起了任务的执行

来自分类Dev

C# 中的单个任务与 List<Task>

来自分类Dev

延续任务上的Task.WaitAll()仅延迟原始任务的执行?

来自分类Dev

Capistrano清理任务挂起了几次

来自分类Dev

C#任务在Task.WhenAll之前执行

来自分类Dev

C#中的同步任务执行

来自分类Dev

在C#中异步执行多个任务

来自分类Dev

在C#中执行并发任务

来自分类Dev

使用Task.WaitAll()处理等待的任务?

来自分类Dev

任务等待vs Task.WaitAll

来自分类Dev

任务等待vs Task.WaitAll

来自分类Dev

任务 WaitAll 在 C# 中无法正常工作以用于 DB 任务

来自分类Dev

为什么Task.WaitAll不等到我的所有任务都完成后才开始?C#

来自分类Dev

显示任务在Task.Run C#中的运行时间

来自分类Dev

处理Task.WaitAll中已取消的任务和任务异常?

来自分类Dev

获取C#中已执行任务的统计信息

来自分类Dev

在 C# 中执行后台任务的最佳实践

来自分类Dev

在更新过程中,appstreamcli挂起了100%CPU使用率

来自分类Dev

C#中的任务示例

来自分类Dev

杀死C#中的任务

来自分类Dev

C#中的任务示例

来自分类Dev

在C#中取消任务

来自分类Dev

C#在执行之前建立任务列表

来自分类Dev

当我尝试运行grunt-react任务时,它挂起了

来自分类Dev

在C#中执行IronPython

来自分类Dev

使用Task.Start触发任务时卡在Task.WaitAll(tasks.ToArray())

来自分类Dev

对POST执行https时,Curl挂起了我的Apache服务器

来自分类Dev

如何在C#中延迟任务中部分代码的执行

来自分类Dev

在 C# 中执行 Parallel.Foreach 时布尔包含任务取消异常