Изменение размера ThreadPool
почти наверняка является плохой идеей (не в последнюю очередь: каждый поток займет другой кусок стекового пространства); вместо этого вы должны посмотреть на использование потоков - насыщаете ли вы пул? Вы могли бы найти TPL и Task[<T>]
лучшим способом обработки некоторого асинхронного кода, или в таких случаях, как IO - асинхронные операции Begin*
/ End*
, а не операция синхронизации в потоке ThreadPool
.
Вы также можете проверить, что все ваши асинхронные операции существуют чисто; возможно, они останавливаются (возможно, в тупике) и не выходят?
Наконец: ThreadPool
- это , в основном , предназначенный для коротких операций (где стоимость раскрутки Thread
наиболее заметна); длительные операции могут быть лучше на выделенных Thread
s