温馨提示×

c# taskscheduler任务依赖怎么设置

c#
小樊
81
2024-11-25 14:05:48
栏目: 编程语言

在C#中,使用TaskScheduler类来安排和管理任务时,可以通过ContinueWith方法来设置任务之间的依赖关系。以下是一个简单的示例,展示了如何设置任务依赖:

using System;
using System.Threading.Tasks;

class Program
{
    static void Main()
    {
        // 创建第一个任务
        Task task1 = Task.Run(() =>
        {
            Console.WriteLine("Task 1 started.");
            Task.Delay(1000).Wait(); // 模拟耗时操作
            Console.WriteLine("Task 1 completed.");
        });

        // 创建第二个任务,并设置依赖于第一个任务
        Task task2 = task1.ContinueWith(t =>
        {
            if (t.IsCompletedSuccessfully)
            {
                Console.WriteLine("Task 2 started.");
                Task.Delay(1000).Wait(); // 模拟耗时操作
                Console.WriteLine("Task 2 completed.");
            }
        });

        // 等待所有任务完成
        Task.WaitAll(task1, task2);
    }
}

在这个示例中,我们创建了两个任务task1task2task2依赖于task1的完成。通过在task1上调用ContinueWith方法,我们可以在task1完成后执行task2。注意,ContinueWith方法接受一个Action<Task>委托,该委托将在前一个任务完成后执行。

0