C# 巧用 Task 与 async/await 实现两线程交替打印 0~100 奇偶数
在C#中,我们可以使用`Task`和`async` / `await`来实现两个线程交替打印0~100的奇偶数。下面是一个示例代码: ```csharp using System; using System.Threading; using System.Threading.Tasks; class Program { static void Main() { var task1 = Task.Run(() => PrintOddNumbers()); var task2 = Task.Run(() => PrintEvenNumbers()); Task.WaitAll(task1, task2); } static async Task PrintOddNumbers() { for (int i = 1; i <= 100; i += 2) { Console.WriteLine("Thread 1: {0}", i); await Task.Delay(100); // 模拟耗时操作 } } static async Task PrintEvenNumbers() { for (int i = 2; i <= 100; i += 2) { Console.WriteLine("Thread 2: {0}", i); await Task.Delay(100); // 模拟耗时操作 } } } ``` 这个程序创建了两个任务,每个任务在一个单独的线程上运行。`PrintOddNumbers`方法打印奇数,而`PrintEvenNumbers`方法打印偶数。`await Task.Delay(100)`语句模拟了每个打印操作后的耗时操作。由于`await`操作,每个打印操作都会等待另一个线程完成打印,从而实现交替打印。 ######[AI写代码神器 | 359点数解答 | 2023-11-09 17:49:39]
- HTML 任务列表代码:语法纠错、优化建议及额外逻辑要点(字节豆包 | 185点数解答 | 2025-01-01 17:54:37)247
- 使用位运算对黄金城原材料编号进行奇偶分类的C++程序(字节豆包 | 211点数解答 | 2026-02-28 20:38:57)27
- 探秘:JavaScript 实现模拟考试自动化答题的异步函数(GPT | 983点数解答 | 2024-10-13 01:02:56)252
- "Complete Guide to Building an Async JavaScript Function for Automating Online Exams"(阿里通义 | 654点数解答 | 2024-10-13 01:04:21)308
- 代码改造:将给牌效果从一张改为一种花色所有牌的实现与注意点(DeepSeek | 405点数解答 | 2025-03-28 12:15:20)214
- 异步函数代码优化建议与关键逻辑注意点揭秘(字节豆包 | 179点数解答 | 2025-05-17 20:49:48)227
- 补全代码:将数组所有元素赋值为 100 并输出(字节豆包 | 164点数解答 | 2025-11-01 19:14:57)105
- Clash 插件安装代码优化:优点、改进点与注意事项全解析(阿里通义 | 664点数解答 | 2025-07-08 23:25:05)168
- C++实现图像模糊化处理:含代码、解释与复杂度分析(字节豆包 | 670点数解答 | 2025-11-10 18:55:33)115
- C++实现图像像素灰度值模糊化处理:输入输出全解析(字节豆包 | 655点数解答 | 2025-12-01 14:24:01)91
- Python 实现图像模糊化:输入像素值,输出处理后图像(附代码及详细解释)(字节豆包 | 555点数解答 | 2025-12-09 12:22:26)94
- Python 实现球类:精准计算半径、表面积与体积,附输入验证与异常处理!(阿里通义 | 261点数解答 | 2024-11-28 21:19:39)350