c#使用一个多线程执行一个方法多遍
时间: 2024-05-06 09:15:49 浏览: 100
C#多线程执行
4星 · 用户满意度95%
可以使用`Task.Run`方法创建多个任务,每个任务都会在一个新的线程上执行相同的方法。这样就可以实现多线程执行一个方法多遍。
下面是一个示例代码,其中`DoWork()`方法是需要多线程执行的方法,`numOfLoops`表示需要执行的次数。
```csharp
int numOfLoops = 10;
List<Task> tasks = new List<Task>();
for (int i = 0; i < numOfLoops; i++)
{
tasks.Add(Task.Run(() => DoWork()));
}
Task.WaitAll(tasks.ToArray()); //等待所有任务完成
```
在上面的代码中,我们使用`Task.Run`方法创建了`numOfLoops`个任务,并将这些任务添加到了`tasks`列表中。然后使用`Task.WaitAll`方法等待所有的任务完成。
需要注意的是,如果`DoWork()`方法中存在共享资源的访问,需要采取相应的线程安全措施,以避免出现竞态条件等问题。
阅读全文