Warning: file_get_contents(/data/phpspider/zhask/data//catemap/2/csharp/292.json): failed to open stream: No such file or directory in /data/phpspider/zhask/libs/function.php on line 167

Warning: Invalid argument supplied for foreach() in /data/phpspider/zhask/libs/tag.function.php on line 1116

Notice: Undefined index: in /data/phpspider/zhask/libs/function.php on line 180

Warning: array_chunk() expects parameter 1 to be array, null given in /data/phpspider/zhask/libs/function.php on line 181
C# 在C中为循环中的方法创建线程_C#_Multithreading - Fatal编程技术网

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

C# 在C中为循环中的方法创建线程,c#,multithreading,C#,Multithreading,在C语言中,我希望能够在循环的每次迭代中调用一个方法,并为该方法调用创建一个线程。我希望该线程与循环创建的其他线程并发运行。我希望在循环中调用方法时生成线程,并且我希望循环继续到自身的下一次迭代,并立即创建下一个线程。循环运行完成后,我想等待所有线程完成 我听说过ThreadPool.QueueUserWorkItem,但在这种情况下,我似乎无法理解它 for(int i = 0; i < 10; i++) { myObject obj = new myObject();

在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 framework以Parallel.for和Parallel.ForEach的形式为您创建:


听起来您试图手动实现的内容已由.Net framework以Parallel.for和Parallel.ForEach的形式为您创建:


那么,您尝试了什么,遇到了什么问题,您在如何实现这一目标方面使用了哪些资源,您对这些资源中的主题了解多少?Parallel.For和Parallel.ForEach会更好。听起来您的答案是Task Factory。请检查您尝试了什么,遇到了什么问题,您在如何实现这一目标方面使用了哪些资源,您对这些资源中的主题了解多少?Parallel.For和Parallel.ForEach会更好。听起来您的答案是Task Factory。检查
Parallel.For(0, 10, i =>
{
    myObject obj = new myObject();
    obj.height = i;
    obj.width = i+a*b/c;

    var data = myMethod(obj);
});