2012-04-02 2 views
1

с использованием .NET 3.5. У меня есть функция, с которой я хочу сделать многопоточные вызовы. Пользователь в настоящее время устанавливает максимальное количество потоков в приложении, и я закручиваю их в цикле for с новым Thread (Run) .Start(). Функция Run находится в цикле while и работает до тех пор, пока значение boolean класса не будет установлено в false..NET 3.5 Multi Threading

Я хочу, чтобы иметь возможность сделать это, позволяет пользователю изменять значение maxThread, пока приложение запускает его задние конечные процессы, и приложение может регулировать количество потоков. Есть ли какой-то менеджер потоков в .NET 3.5, который я могу использовать, или это будет рулон моей собственной ситуации. Если это мой собственный ролик, я буду благодарен за любые идеи о семени, которые у вас могут быть, что лучший способ добиться этого.

+1

См. Http://stackoverflow.com/questions/444627/c-sharp-thread-pool-limiting-threads –

ответ

1

Есть ли какой-то менеджер потоков в .NET 3.5

Да, вы можете использовать Reactive Extensions Backport из библиотеки Task Parallel Library для .NET 3.5.

Я бы не стал беспокоиться об управлении максимальным количеством потоков динамически. Предполагается, что TPL будет обрабатывать все это для вас.

1

Я думаю, что простым пользовательским решением было бы управлять значением maxThread из таблицы базы данных. Есть и другие более легкие подходы, такие как записи значения в текстовом файле/конфигурационный файл и т.д.

Удачи

1

Посмотрите ThreadPool «ы

но это будет зависеть от того, как вы получаете ваш maxthread стоимость.