В том то дело — как пользоваться настройками вы и не написали, а дали три готовых реализации.
А как подкрутить их в говотом методе, так и не объяснили.
Например через настройку Scheduler'а, о которой я упоминал:
ParallelOptions options = new ParallelOptions();
// Construct and associate a custom task scheduler
options.TaskScheduler = new TwoThreadTaskScheduler();
У меня в TPL есть заранее определенный ParallelFor — им и небходимо пользоваться, а не изобретать велосипед.
Или же предлагается для каждого отдельного случая писать свою реализаю, читай делать копипаст из этой книги?
Отдельно: То что в TPL нет единого/глобального механизма управления Scheduler'ом (извините, русского слова не вспомнил) — это минус TPL.
Да, не спорю, есть возможность переопределить для некоторых конструкций свой, но это не панацея и Scheduler два экрана текста занимает.
ЗЫ. Спасибо, Вы вдохновили меня написать серию статей с обзором PPL, TPL, TBB, Cilk.
Не верю ©
А как подкрутить их в говотом методе, так и не объяснили.
Например через настройку Scheduler'а, о которой я упоминал:
ParallelOptions options = new ParallelOptions();
// Construct and associate a custom task scheduler
options.TaskScheduler = new TwoThreadTaskScheduler();
Parallel.For(
0,
10,
options,
(i, localState) =>
{
Console.WriteLine(«i={0}, Task={1}, Thread={2}», i, Task.CurrentId, Thread.CurrentThread.ManagedThreadId);
}
);
У меня в TPL есть заранее определенный ParallelFor — им и небходимо пользоваться, а не изобретать велосипед.
Или же предлагается для каждого отдельного случая писать свою реализаю, читай делать копипаст из этой книги?
Отдельно: То что в TPL нет единого/глобального механизма управления Scheduler'ом (извините, русского слова не вспомнил) — это минус TPL.
Да, не спорю, есть возможность переопределить для некоторых конструкций свой, но это не панацея и Scheduler два экрана текста занимает.
ЗЫ. Спасибо, Вы вдохновили меня написать серию статей с обзором PPL, TPL, TBB, Cilk.
Вы зря считаете, что это не свойственно молодым — такой же бесцельный отдых за экраном.