在C#中,TaskScheduler
類允許您創建和管理任務。要設置任務的優先級,您需要使用TaskCreationOptions
枚舉中的LongRunning
、Idle
、HighestPriority
、Normal
或LowestPriority
值。這些值分別表示任務的優先級。
以下是一個示例,說明如何設置任務優先級:
using System;
using System.Threading;
using System.Threading.Tasks;
class Program
{
static void Main()
{
// 創建一個任務調度器
TaskScheduler taskScheduler = new TaskScheduler();
// 創建一個任務
Task task = new Task(() =>
{
Console.WriteLine("Task is running.");
}, CancellationToken.None, TaskCreationOptions.LongRunning | TaskCreationOptions.HighestPriority);
// 將任務添加到調度器
taskScheduler.QueueTask(task);
// 等待任務完成
task.Wait();
}
}
在這個示例中,我們創建了一個名為taskScheduler
的TaskScheduler
實例。然后,我們創建了一個名為task
的任務,并使用TaskCreationOptions.LongRunning
和TaskCreationOptions.HighestPriority
選項設置了其優先級。最后,我們將任務添加到調度器并等待其完成。
請注意,并非所有任務調度器都支持所有優先級值。例如,ThreadPoolTaskScheduler
不支持LongRunning
和Idle
選項。在使用特定任務調度器時,請確保查閱其文檔以了解支持的優先級值。