c#

c# taskfactory如何同步任务结果

小樊
86
2024-07-26 17:26:09
栏目: 编程语言

在C#中,TaskFactory提供了一个方便的方式来创建和执行任务。要同步任务结果,可以使用TaskFactory的ContinueWith方法来创建一个新任务,该任务在原始任务完成后执行。

以下是一个示例代码,演示如何使用TaskFactory同步任务结果:

using System;
using System.Threading;
using System.Threading.Tasks;

class Program
{
    static void Main()
    {
        TaskFactory taskFactory = new TaskFactory();

        Task<int> originalTask = taskFactory.StartNew(() =>
        {
            Thread.Sleep(2000);
            return 42;
        });

        Task syncTask = originalTask.ContinueWith((completedTask) =>
        {
            int result = completedTask.Result;
            Console.WriteLine($"Original task completed with result: {result}");
        });

        syncTask.Wait(); // 等待同步任务完成

        Console.WriteLine("Sync task completed");
    }
}

在上面的示例中,我们首先使用TaskFactory创建一个原始任务originalTask,然后使用ContinueWith方法创建一个同步任务syncTask,该任务在原始任务完成后输出结果。最后,我们使用Wait方法等待同步任务完成。

运行上面的代码,你将看到类似以下输出:

Original task completed with result: 42
Sync task completed

0
看了该问题的人还看了