Usando System.Threading.Tasks.Parallel criar novo segmento no pool de segmentos?

Talvez eu não entendi direito ... toda a questão da classe paralela :(

Mas pelo que estou lendo agora, eu entendo que quando eu uso o Parallel eu realmente mobilizo todos os threads que existem no threadPool para alguma tarefa / missão.

Por exemplo:

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

Portanto, o Parallel.ForEach, neste caso, está mobilizando todos os encadeamentos existentes no threadPool para a tarefa / missão 'DoSomething'.

Mas a chamada Parallel.ForEach criará algum novo thread?

Está claro que não haverá 1000 novos tópicos. Mas vamos supor que existem 1000 novos encadeamentos, alguns casos em que o threadPool libera todo o encadeamento que ele contém, neste caso ... o Parallel.ForEach irá criar algum novo encadeamento?

questionAnswers(4)

yourAnswerToTheQuestion