Plinq, ядра и WithDegreeOfParallelism?

Насколько я понял, Plinq решает, сколько потоков открывать (каждому в потоке на разных ядрах )по количеству ядер.

__________

  Core 1
  Core 2
  Core 3
  Core 4
___________

Итак, если у меня есть задача Plinq, которая находит все первые 1000 простых чисел, Plink откроет новый Thread on each Core, чтобы максимизировать эффективность.

Итак, здесь каждое ядро ​​будет работать с числами 1000/4, логика нахождения простых чисел.

Однако я читал, что блокирующие операции, такие как IO, следует использовать с WithDegreeOfParallelism, чтобы процессор не думал, что это интенсивная операция процессора, и это позволяло использовать moreпотоки, чем cores.

Вопрос:

1 )Это точно? Я правильно понял?

2 )Если я установлю WithDegreeOfParallelism (7), он определенно будет использовать все 4 ядра, но как насчет остальных 3? (7 -4 )куда они побегут? на каком ядре/ядрах?

8
задан Royi Namir 18 August 2012 в 17:10
поделиться