在C#中可以使用TaskScheduler
类来监控任务的执行情况。下面是一个简单的示例代码,演示如何使用TaskScheduler
来监控任务的执行情况:
using System;
using System.Threading;
using System.Threading.Tasks;
class Program
{
static void Main()
{
// 创建一个任务
Task task = Task.Run(() =>
{
// 模拟任务执行过程
for (int i = 0; i < 10; i++)
{
Console.WriteLine($"Task is running, iteration {i}");
Thread.Sleep(1000);
}
});
// 创建一个任务调度器
TaskScheduler taskScheduler = TaskScheduler.FromCurrentSynchronizationContext();
// 监控任务的执行情况
task.ContinueWith((prevTask) =>
{
Console.WriteLine("Task has completed!");
}, TaskContinuationOptions.None, taskScheduler);
Console.WriteLine("Press any key to exit...");
Console.ReadKey();
}
}
在上面的代码中,我们首先创建了一个任务task
,然后使用TaskScheduler.FromCurrentSynchronizationContext()
方法创建了一个任务调度器taskScheduler
。接着,我们使用task.ContinueWith()
方法来监控任务的执行情况,当任务执行完毕时会打印出"Task has completed!"。
通过使用TaskScheduler
类,我们可以更灵活地控制任务的执行和监控任务的执行情况。