在C#循环中为方法创建一个线程

时间:2015-04-15 18:58:48

标签: c# multithreading

在C#中,我希望能够在循环的每次迭代中调用一次方法,并为该方法调用创建一个线程。我希望该线程与循环创建的每个其他线程并发运行。我希望线程在循环中调用方法时生成,并且我希望循环继续到自身的下一次迭代并立即创建下一个线程。循环运行完毕后,我想等待所有线程完成。

我已经听说过ThreadPool.QueueUserWorkItem,但在这种情况下似乎无法绕过它。

for(int i = 0; i < 10; i++)
{
    myObject obj = new myObject();
    obj.height = i;
    obj.width = i+a*b/c;
    var data = myMethod(obj);
}

1 个答案:

答案 0 :(得分:5)

听起来您正在尝试手动实现的内容已经由{。{1}}和Parallel.For形式的.Net框架为您创建:

Parallel.ForEach