Я могу ограничить ввод-вывод своего приложения C#

Я создал приложение, которое выполняет работу над тысячами файлов, затем пишет измененные копии этих файлов к диску. Я использую ThreadPool, но он порождал столько потоков, ПК становился безразличным 260 общих количеств), таким образом, я изменил макс. от значения по умолчанию 250 вниз к 50, это решило ту проблему (приложение только порождает приблизительно 60 общих количеств потоков), однако теперь, когда файлы становятся готовыми так быстро, его связывание UI до такой степени, когда, ПК безразличен.

Есть ли способ ограничить сумму ввода-вывода - я имею в виду, мне нравится использовать 50 потоков для выполнения работы над файлами, но не 50 потоков, пишущих одновременно, когда они обрабатываются. Я не повторно спроектировал бы запись части файлов, если я могу удержаться от нее - я надеялся, что мог бы ограничить сумму ввода-вывода (одновременного), потоки от этого пула могли использовать.

6
задан schmoopy 4 August 2010 в 17:33
поделиться