Re[2]: Маленький вопрос про многопоточность
От: Kore Sar  
Дата: 29.06.09 10:49
Оценка: 1 (1)
E>>Насколько криво так делать? Как это лучше сделать? Есть еще библиотека FX Parallelis кажется... она вроде будет в 2010 студии... А сейчас ее скачать нельзя, насколько я понимаю?

_>Скачать можно http://en.wikipedia.org/wiki/Parallel_FX_Library , только что там с лицензией не знаю, можно это в продакшене использовать или нет.



Поддерживаю. Благодаря либе можно код свести к такому виду:
// Библиотека запустит не более 4-х потоков. Больше информации в хелпе Parallel Extentions.
                    var taskManager = new TaskManager(new TaskManagerPolicy(4, 4, 1)); // 4 - это Ваше кол-во потоков.
                    Parallel.ForEach(someClasses, someClass =>
                    {
                        DoSomething(someClass); // ваша обработка
                    }, taskManager);

Причём SomeClass может быть чем угодно, и не придётся городить в нём всякие защиты от одновременного доступа и пр.
 
Подождите ...
Wait...
Пока на собственное сообщение не было ответов, его можно удалить.