Как я понимаю, API параллелирования использует пул потоков внутри, и они ставят в очередь элементы для параллельной обработки, однако, когда я проверил выполнение одного такого параллельного цикла с использованием отладчика SOS, тогда я понимаю, что если у меня будет 10 заданных задач, то все они могут не идти параллельно, и CLR будет решать, сколько потоков для отправки для выполнения заданных задач, так что это может быть 4 или 5 или 6 (различное число в каждое исполнение).Net Parallel, Task APIs Vs regular Threads
Однако в случае, если мой общий номер задачи, если не очень высокий, как 10, и я хочу, чтобы все они проходили параллельно, поскольку все они длинные, желательно, чтобы они были на традиционных потоках, который обеспечит 1 поток на одну задачу, и все они идут параллельно. В случае, если число t запрашивает хорошее число, например, 100, тогда использование Parallel или Threadpool является практическим решением, так как мы не хотим вызывать 100 отдельных потоков в процессе.
Пожалуйста, поделитесь своим мнением, я понимаю, что преимущества Parallel API делают полное параллельное программирование очень легко реализовать, но здесь моя цель другая
Просто используйте TPL. Это довольно открытый субъективный вопрос, вы четко не указываете, какова ваша цель, и делаете некоторые несвязанные предположения в вопросе. «Регулярные потоки» не являются магии, они все равно будут сконфигурированы как физическое оборудование и операционная система. – Jodrell
@Jodrell: Threads использует упреждающий выбор времени, позволяя любому числу работать параллельно (с увеличением накладных расходов). Без опции «LongRunning» TPL будет неприемлемым для сценариев, требующих одновременного активирования многих задач (даже если это практически так). – Douglas
@ Douglas, это зависит от того, что означает OP при длительном запуске. В любом случае, вам нужно использовать TPL. Если работа «Long Running», то ваш ответ, который я уже поддержал, применяется красиво. Если я создам 1000 «Regular Threads», они будут работать так же плохо, как 1000 'LongRunning' TPL' Tasks'. – Jodrell