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