c# for循环执行多线程
时间: 2023-07-12 21:33:54 浏览: 85
在C#中,你可以使用`Task`类或`Thread`类来执行多线程,结合`for`循环实现对多个任务的并发执行。具体实现如下:
使用`Task`类:
```csharp
using System.Threading.Tasks;
// 定义一个异步任务的执行方法
public async Task WorkerAsync(int taskIndex)
{
// 执行任务的代码
}
// 创建多个异步任务并启动
for (int i = 0; i < 5; i++)
{
var task = WorkerAsync(i);
// do something else
}
// 等待所有异步任务执行完毕
await Task.WhenAll(tasks);
```
使用`Thread`类:
```csharp
using System.Threading;
// 定义一个线程的执行方法
public void Worker(int taskIndex)
{
// 执行任务的代码
}
// 创建多个线程并启动
Thread[] threads = new Thread[5];
for (int i = 0; i < 5; i++)
{
threads[i] = new Thread(() => Worker(i));
threads[i].Start();
}
// 等待所有线程执行完毕
foreach (var t in threads)
{
t.Join();
}
```
在上面的代码中,我们定义了一个`Worker`方法作为线程或异步任务的执行函数,然后创建了5个线程或异步任务,并将它们添加到一个列表中。最后使用`Task.WhenAll`方法或`Join`方法等待所有任务执行完毕。你可以根据自己的实际需求修改代码中的参数和执行逻辑。
相关推荐
![pdf](https://img-home.csdnimg.cn/images/20210720083512.png)
![zip](https://img-home.csdnimg.cn/images/20210720083736.png)
![rar](https://img-home.csdnimg.cn/images/20210720083606.png)
![](https://csdnimg.cn/download_wenku/file_type_ask_c1.png)
![](https://csdnimg.cn/download_wenku/file_type_ask_c1.png)
![](https://csdnimg.cn/download_wenku/file_type_ask_c1.png)
![](https://csdnimg.cn/download_wenku/file_type_ask_c1.png)
![](https://csdnimg.cn/download_wenku/file_type_ask_c1.png)
![](https://csdnimg.cn/download_wenku/file_type_ask_c1.png)
![](https://csdnimg.cn/download_wenku/file_type_ask_c1.png)
![](https://csdnimg.cn/download_wenku/file_type_ask_c1.png)
![](https://csdnimg.cn/download_wenku/file_type_ask_c1.png)
![](https://csdnimg.cn/download_wenku/file_type_ask_c1.png)
![](https://csdnimg.cn/download_wenku/file_type_ask_c1.png)
![](https://csdnimg.cn/download_wenku/file_type_ask_c1.png)
![](https://csdnimg.cn/download_wenku/file_type_ask_c1.png)
![](https://csdnimg.cn/download_wenku/file_type_ask_c1.png)
![](https://csdnimg.cn/download_wenku/file_type_ask_c1.png)