Mit System.Threading.Tasks.Parallel neuen Thread im Thread-Pool erstellen?

Vielleicht habe ich es nicht richtig verstanden ... die ganze Parallelklasse Ausgabe :(

Aber nach dem, was ich jetzt lese, verstehe ich, dass ich bei der Verwendung von Parallel tatsächlich alle im threadPool vorhandenen Threads für eine Aufgabe / Mission mobilisiere.

Zum Beispiel:

  var arrayStrings = new string[1000];
  Parallel.ForEach<string>(arrayStrings, someString =>
  {
       DoSomething(someString);
  });

In diesem Fall mobilisiert Parallel.ForEach alle im threadPool vorhandenen Threads für die Aufgabe / Mission "DoSomething".

Aber erzeugt der Aufruf Parallel.ForEach überhaupt einen neuen Thread?

Es ist klar, dass es keine 1000 neuen Threads geben wird. Aber nehmen wir an, dass es 1000 neue Threads gibt. In einigen Fällen gibt der threadPool alle Threads frei, die er enthält. In diesem Fall erstellt Parallel.ForEach einen neuen Thread.

Antworten auf die Frage(4)

Ihre Antwort auf die Frage