温馨提示×

C# TaskScheduler监控任务的方法

c#
小樊
105
2024-07-20 22:48:56
栏目: 编程语言

在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类,我们可以更灵活地控制任务的执行和监控任务的执行情况。

0