【问题标题】:How to get the task is finished / Completed?如何让任务完成/完成?
【发布时间】:2015-12-07 00:50:55
【问题描述】:

我有基于队列运行的任务列表,但我需要检查任务是否完成。根据每个任务返回的状态,我必须执行该功能。

Task.Factory.StartNew(
() =>
{
    string fileName;
    while (!filePaths.IsCompleted)
    {
        if (!filePaths.TryTake(out fileName)) continue;
        this.ReadFileContents(fileName, VMCallBack);
    }
}, _cts.Token);

【问题讨论】:

  • 是否需要等到任务执行完毕?

标签: c# multithreading task-parallel-library


【解决方案1】:

StartNew 返回Task 的对象。您可以收集这些并检查IsCompleted 属性以了解它是否已完成。

【讨论】:

    【解决方案2】:
    Task myTask = Task.Factory.StartNew(...);
    myTask.Wait();
    //now do stuff after completion
    

    【讨论】:

      猜你喜欢
      • 2021-09-06
      • 1970-01-01
      • 2020-07-09
      • 1970-01-01
      • 1970-01-01
      • 1970-01-01
      • 1970-01-01
      • 1970-01-01
      • 1970-01-01
      相关资源
      最近更新 更多