在 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);
}
最佳答案
听起来您尝试手动实现的内容已经由 .Net 框架以 Parallel.For
和 Parallel.ForEach
的形式为您创建:
Parallel.For(0, 10, i =>
{
myObject obj = new myObject();
obj.height = i;
obj.width = i+a*b/c;
var data = myMethod(obj);
});
关于c# - 在 C# 中为循环中的方法创建线程,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/29658580/