Раньше я хорошо использовал класс ThreadPoolExecutor в Java и до сих пор не нашел хорошего эквивалента в C #. Я знаю ThreadPool.QueueUserWorkItem, который полезен во многих случаях, но бесполезен, если вы хотите контролировать количество потоков, назначенных для задачи, или иметь несколько отдельных очередей для разных типов задач.
Например, мне понравилось использовать ThreadPoolExecutor с одним потоком, чтобы гарантировать последовательное выполнение асинхронных вызовов. Есть ли простой способ сделать это в C #? Есть ли нестатическая реализация пула потоков?