是的,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
类允许你在不同的线程上执行任务,从而实现任务的移动。