метода ? Они оба будут использовать другие ядра я так понимаю ?
Разницу между асинхронным и параллельным кодом понимаешь?
Видимо не очень. Полагаю Параллельное это раскидывание обработки данных на разные ядра, чтобы загрузить процессор. Асинхронное нужно чтобы не блокировать вызывающий поток. В методической литературе Task используется вроде в обоих случаях, и я озадачен. Я раньше думал что только Parallel может это. Да я хочу создать массив Task ов, и на каждый свой кусок задачи кинуть. что вроде должно быть аналогично Parallel ?
Не гарантируется, что таски будут обработаны параллельно. Чаще всего это так, но не всегда. Если задача вычислительная - лучше использовать Parallel. Если ввод/вывод - таски
А использовать вместе так себе идея ? например в основном потоке в цикле создаешь Task , но исполнение через Parallel ? Сама структура Task удобна, паралельно запустил, и потоко безопасная колекция не нужна для результата.
Чой-та не нужна потокобезопасная коллекция? Вот это новости. Насчёт вместе - зависит от конкретного случая
Ты строишь таск, запихиваешь в массив, запускаешь его в Parallel , делаешь следующий. И когда отработают, у тебя готовый список результата. Или я не понимаю что то ?
Да, но если эти таски обращаются к коллекциям за пределами себя, то потокобезопасность надо соблюдать. Ещё раз - для вычислительных задач лучше подходит Parallel, меньше накладных расходов, больше контроля над тем как оно исполняется.
Спасибо, разобрался.
Обсуждают сегодня