在C#中,ContinueWith
方法通常用于異步編程,它允許你在一個任務的完成后執行另一個任務。ContinueWith
可以處理順序執行,但你需要注意正確地安排任務的執行順序。
以下是一個簡單的示例,展示了如何使用ContinueWith
來處理順序執行的任務:
using System;
using System.Threading.Tasks;
class Program
{
static async Task Main(string[] args)
{
// 創建第一個異步任務
var task1 = Task.Run(() =>
{
Console.WriteLine("Task 1 started.");
Thread.Sleep(1000); // 模擬耗時操作
Console.WriteLine("Task 1 completed.");
});
// 使用 ContinueWith 處理第一個任務的完成
task1.ContinueWith(t =>
{
Console.WriteLine("Task 2 started.");
Thread.Sleep(1000); // 模擬耗時操作
Console.WriteLine("Task 2 completed.");
});
// 等待所有任務完成
await Task.WhenAll(task1);
}
}
在這個示例中,我們創建了兩個異步任務task1
和task2
。task1
完成后,ContinueWith
方法會立即執行task2
。這樣,我們可以確保task2
在task1
完成后順序執行。
需要注意的是,ContinueWith
方法不會阻塞主線程,它會在后臺異步執行。如果你需要在ContinueWith
中等待任務完成,可以使用await
關鍵字。