当前位置: 首页 > news >正文

C#基础:启用线程池执行并行任务

一、Demo(同步)

using System;using System.Threading.Tasks; class Program{    static void Main(string[] args)    {        // 使用Task.Run(线程池)来创建两个任务并行执行        Task task1 = Task.Run(() => PrintHello());//运行任务线程1        Task task2 = Task.Run(() => PrintWorld());//运行任务线程2         // 确保完成所有任务线程,再执行后面的代码        Task.WhenAll(task1, task2).Wait();    }     // 任务一:每1秒输出 "Hello"    static void PrintHello()    {        while (true)        {            Console.WriteLine("Hello");            Task.Delay(1000).Wait(); // 休眠五秒        }    }     // 任务二:每3秒输出 "World"    static void PrintWorld()    {        while (true)        {            Console.WriteLine("World");            Task.Delay(3000).Wait(); // 休眠六秒        }    }}

二、Demo(异步)

using System;using System.Threading.Tasks; class Program{    static async Task Main(string[] args)    {        // 直接调用异步任务,不需要使用 Task.Run()        Task task1 = PrintHello(); // 异步任务1        Task task2 = PrintWorld(); // 异步任务2         // 等待两个异步任务完成        await Task.WhenAll(task1, task2); // 等待所有任务完成    }     // 假设 PrintHello 和 PrintWorld 是异步方法,返回 Task    static async Task PrintHello()    {        // 模拟异步操作(比如网络请求、IO操作等)        while (true)        {            await Task.Delay(1000); // 假设这是一个异步操作            Console.WriteLine("Hello");        }    }     static async Task PrintWorld()    {        while (true)        {            // 模拟异步操作            await Task.Delay(3000); // 假设这是一个异步操作            Console.WriteLine("World");        }    }}

http://www.jsqmd.com/news/10104/

相关文章:

  • P1545 [USACO04DEC] Dividing the Path G 题解
  • AJ-Report - 实践
  • 视频采集程序
  • java作业2
  • 关于PPT的课后作业
  • RK 系列 GPU 驱动检查方法
  • Day-15【选择与循环】选择结构-if语句 - 实践
  • 咕乡
  • opencv应用经典bug
  • Linux随记(十八) - 详解
  • 通信算法之281:大疆DJI无人机ID-DJI DroneID开源工程-相关问题-协议信息问题 - 实践
  • Linux 文件 MD5 校验完全指南
  • week2课后作业
  • Java 语言程序设计(第二讲 方法)动手动脑与课后实验问题整理文档 - 20243867孙堃2405
  • 算法第一章
  • 课后作业1
  • mac打开app提示文件损坏解决方案
  • 深入解析:RDMA简介3之四种子协议对比
  • QBXT2025S刷题 Day7题
  • 大语言模型中的注意力机制详解 - 教程
  • 无需重新训练即可更新语音识别词汇
  • 深入解析:vscode中无法使用npm node
  • 第一次算法作业
  • AI元人文:新的评价与启示
  • Why is English commonly used in scientific literature?
  • 第二次课程
  • 详细介绍:《云原生安全攻防》-- K8s网络策略:通过NetworkPolicy实现微隔离
  • 考研系列—操作系统:冲刺笔记(1-3章) - 指南
  • 【Axure高保真原型】交通事故大屏可视化分析案例 - 指南
  • 2025工业网线优质厂家最新推荐榜:品质卓越与技术领先之选