c#task执行同一个方法
时间: 2025-01-07 16:57:27 浏览: 1
### 使用 `Task` 执行同一方法多次
为了在 C# 中使用 `Task` 来并发执行相同的方法多次,可以创建多个 `Task` 实例并启动它们。下面展示了如何实现这一点:
```csharp
using System;
using System.Collections.Generic;
using System.Threading.Tasks;
public class Program
{
public static void Main()
{
List<Task> tasks = new List<Task>();
for (int i = 0; i < 5; i++)
{
tasks.Add(Task.Run(() => ExecuteMethod()));
}
Task.WaitAll(tasks.ToArray());
Console.WriteLine("所有任务已完成");
}
private static async Task ExecuteMethod()
{
// 模拟异步操作
await Task.Delay(100);
Console.WriteLine($"方法完成于 {DateTime.Now}");
}
}
```
这段代码通过 `for` 循环创建了五个 `Task` 并发实例来运行 `ExecuteMethod()` 方法[^1]。
当涉及到更复杂的场景时,比如处理返回值的任务或需要等待特定条件的情况,则可能需要用到 `Task.WhenAll` 或者 `Task.WhenAny` 这样的高级特性[^2]。
对于那些希望避免阻塞主线程的应用程序来说,采用这种方式能够有效地提高性能和响应速度[^3]。
阅读全文