c# 循环创建线程执行任务
时间: 2024-09-25 09:15:01 浏览: 44
在 C# 中,你可以使用 `Thread` 类或者 `Task` 类来循环地创建线程执行任务。这里我们以 `Task` 类为例,因为它更推荐用于异步编程:
```csharp
using System;
using System.Threading.Tasks;
public class MainClass
{
public static void Main()
{
// 创建一个任务列表,存储需要执行的任务
List<Task> tasks = new List<Task>();
// 假设你有一个函数 PerformTask,它接收一个整数作为参数并返回 Task
Func<int, Task> performTask = id => DoSomethingAsync(id);
// 遍历一个范围,比如从 0 到 9,并为每个整数创建一个新的线程任务
for (int i = 0; i <= 9; i++)
{
int taskId = i; // 为了区分不同的任务,可以将id添加到任务中
tasks.Add(performTask(taskId));
}
// 启动所有任务
foreach (var task in tasks)
{
task.Start(); // 使用Start()启动任务,如果想等待完成可用await
}
// 如果你想等待所有任务完成后才结束程序,可以在这里使用await Task.WhenAll(tasks)。
// Console.WriteLine("所有任务已完成"); 这里只是为了演示,实际操作中可能不需要等待。
}
private static async Task DoSomethingAsync(int id)
{
await Task.Delay(1000); // 模拟耗时操作
Console.WriteLine($"Task {id} completed.");
}
}
```
阅读全文