Korzystanie z System.Threading.Tasks.Parallel tworzy nowy wątek w puli wątków?

Może nie rozumiałem tego dobrze ... wszystkie problemy z klasą równoległą :(

Ale z tego, co teraz czytam, rozumiem, że kiedy używam Równoległego, faktycznie mobilizuję wszystkie wątki, które istnieją w wątku Puli dla jakiegoś zadania / misji.

Na przykład:

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

Zatem Parallel.ForEach w tym przypadku mobilizuje wszystkie wątki istniejące w wątku puli dla zadania / misji „DoSomething”.

Ale czy połączenie Parallel.ForEach w ogóle stworzy nowy wątek?

Jasne jest, że nie będzie 1000 nowych wątków. Ale załóżmy, że istnieje 1000 nowych wątków, niektóre przypadki, że threadPool zwalnia cały wątek, który trzyma, w tym przypadku ... Parallel.ForEach utworzy nowy wątek?