在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