在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<Task>
委托,該委托將在前一個任務完成后執行。