在 ThreadPool.SetMaxThreads c# 中仅设置最大工作线程数

Paz*_*a22 1 c# multithreading threadpool

ThreadPool.SetMaxThreads(int workerThreads, int completionPortThreads)
Run Code Online (Sandbox Code Playgroud)

SetMaxThreads方法需要设置工作线程和完成端口线程。有什么方法可以只设置最大工作线程并让线程池决定完成端口线程。

如果没有解决方案,当workerThreads计数为6时,端口线程是否有推荐值?

我使用此代码对 SSIS 包进行排队,该代码的执行时间大约为 10 到 20 秒。

系统信息: Intel Core i3-3220 处理器(双核,4 线程)

n32*_*303 6

您可以使用 GetMaxThreads 获取当前线程,并且仅更改workerThreads。

//get value
ThreadPool.GetMaxThreads(out maxWorker, out maxCompletionThreads);

//set only workerThreads
ThreadPool.SetMaxThreads(differentValue, maxCompletionThreads);
Run Code Online (Sandbox Code Playgroud)