在C#中,TaskFactory提供了一个方便的方式来创建和执行任务。要同步任务结果,可以使用TaskFactory的ContinueWith方法来创建一个新任务,该任务在原始任务完成后执行。
以下是一个示例代码,演示如何使用TaskFactory同步任务结果:
using System; using System.Threading; using System.Threading.Tasks; class Program { static void Main() { TaskFactory taskFactory = new TaskFactory(); TaskoriginalTask = 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