C#异步多线程的例子

在学习C#的过程中,异步和多线程的学习是一个难点。下面用C#写一段伪代码来使用异步多线程实现一个简单的任务调度器,可以接受多个任务,并使用多线程并行执行这些任务。

using System;
using System.Collections.Generic;
using System.Threading.Tasks;

namespace TaskSchedulerExample
{
    class Program
    {
        static async Task Main(string[] args)
        {
            // 创建任务列表
            List<Task> tasks = new List<Task>();

            // 模拟创建多个任务,这里假设有5个任务
            for (int i = 0; i < 5; i++)
            {
                int taskNumber = i + 1;
                tasks.Add(Task.Run(async () =>
                {
                    await ExecuteTaskAsync(taskNumber);
                }));
            }

            // 等待所有任务完成
            await Task.WhenAll(tasks);

            Console.WriteLine("所有任务已完成。");
            Console.ReadLine();
        }

        // 模拟任务执行的异步方法
        static async Task ExecuteTaskAsync(int taskNumber)
        {
            Console.WriteLine($"任务 {taskNumber} 开始执行...");
            // 模拟任务执行的时间
            await Task.Delay(2000); // 这里延时2秒来模拟任务执行时间
            Console.WriteLine($"任务 {taskNumber} 执行完成.");
        }
    }
}
 

评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值