在C#中,使用TaskScheduler
类可以轻松地安排和执行任务
- 首先,确保已经引用了
System.Threading.Tasks
命名空间。
using System.Threading.Tasks;
- 创建一个
TaskScheduler
实例。可以使用默认的任务调度器,也可以创建一个自定义的任务调度器。在这个例子中,我们将使用默认的任务调度器。
TaskScheduler taskScheduler = TaskScheduler.Default;
- 创建一个
TaskCreationOptions
枚举实例,并设置任务的优先级。TaskCreationOptions
枚举有一个名为Priority
的属性,可以设置为TaskPriority.Low
(最低优先级)、TaskPriority.Normal
(普通优先级)或TaskPriority.High
(最高优先级)。
TaskCreationOptions taskOptions = new TaskCreationOptions { Priority = TaskPriority.Normal // 可以设置为TaskPriority.Low、TaskPriority.Normal或TaskPriority.High };
- 使用
Task.Factory.StartNew()
方法创建一个新任务,并将taskOptions
传递给该方法。这将确保任务在调度时具有指定的优先级。
Task task = Task.Factory.StartNew(() => { // 在这里放置要执行的任务代码 }, CancellationToken.None, taskOptions);
- 如果需要,可以等待任务完成。
task.Wait();
将以上代码片段组合在一起,就可以在C#中使用TaskScheduler
设置任务的优先级了。