是的,C# 的 TaskScheduler
類允許你移動任務。你可以使用 TaskScheduler.MoveNext()
方法來獲取下一個任務并執行它。以下是一個簡單的示例:
using System;
using System.Threading;
using System.Threading.Tasks;
class Program
{
static void Main()
{
// 創建一個新的任務調度器
TaskScheduler taskScheduler = new TaskScheduler();
// 創建一個任務
Task task1 = Task.Factory.StartNew(() => Console.WriteLine("Task 1 executed."), CancellationToken.None, TaskCreationOptions.None, taskScheduler);
// 創建另一個任務
Task task2 = Task.Factory.StartNew(() => Console.WriteLine("Task 2 executed."), CancellationToken.None, TaskCreationOptions.None, taskScheduler);
// 等待任務完成
Task.WaitAll(task1, task2);
}
}
在這個示例中,我們創建了一個新的 TaskScheduler
實例,并使用它來調度兩個任務。然后,我們使用 Task.WaitAll()
方法等待這兩個任務完成。TaskScheduler
類允許你在不同的線程上執行任務,從而實現任務的移動。