c# - 在 C# 中为循环中的方法创建线程

标签 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);
}

最佳答案

听起来您尝试手动实现的内容已经由 .Net 框架以 Parallel.ForParallel.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/

相关文章:

c# - 我可以使用 Xamarin 为 Windows 7 编写应用程序吗?

c# - 如何指示单行 C# winforms 文本框中有更多文本?

c# - 动态 Linq 查询包含列表

java - 如何卡住 Android Studio 中的线程

multithreading - 调试 Delphi 多线程应用程序 - 如何获得消耗 100% CPU 的应用程序

java - 通过 ExecutorService 在 Thread 中所做的更改在执行后未反射(reflect)出来

C++11 函数局部静态常量对象的线程安全初始化

c# - 图片在 Chrome 上工作正常,但在 IE 上不行

c# - Windows 服务总线向 MSMQ 添加了什么?

c++ - 根据用户请求停止 tbb 线程