在C#中,使用TaskScheduler
類可以輕松地安排和執(zhí)行任務(wù)
System.Threading.Tasks
命名空間。using System.Threading.Tasks;
TaskScheduler
實(shí)例??梢允褂媚J(rèn)的任務(wù)調(diào)度器,也可以創(chuàng)建一個(gè)自定義的任務(wù)調(diào)度器。在這個(gè)例子中,我們將使用默認(rèn)的任務(wù)調(diào)度器。TaskScheduler taskScheduler = TaskScheduler.Default;
TaskCreationOptions
枚舉實(shí)例,并設(shè)置任務(wù)的優(yōu)先級(jí)。TaskCreationOptions
枚舉有一個(gè)名為Priority
的屬性,可以設(shè)置為TaskPriority.Low
(最低優(yōu)先級(jí))、TaskPriority.Normal
(普通優(yōu)先級(jí))或TaskPriority.High
(最高優(yōu)先級(jí))。TaskCreationOptions taskOptions = new TaskCreationOptions
{
Priority = TaskPriority.Normal // 可以設(shè)置為TaskPriority.Low、TaskPriority.Normal或TaskPriority.High
};
Task.Factory.StartNew()
方法創(chuàng)建一個(gè)新任務(wù),并將taskOptions
傳遞給該方法。這將確保任務(wù)在調(diào)度時(shí)具有指定的優(yōu)先級(jí)。Task task = Task.Factory.StartNew(() =>
{
// 在這里放置要執(zhí)行的任務(wù)代碼
}, CancellationToken.None, taskOptions);
task.Wait();
將以上代碼片段組合在一起,就可以在C#中使用TaskScheduler
設(shè)置任務(wù)的優(yōu)先級(jí)了。