首页 > 解决方案 > 如何确定自定义线程池的#threads?

问题描述

我正在编写一个具有固定数量线程的自定义线程池。这个线程池不会动态改变线程数。如何确定池的理想线程数?

我知道这通常是机器中#cores ( N*#Cores) 的一个因素。有理想值N吗?如果N太低,则意味着如果线程阻塞在 IO 上并降低并行度(可以通过线程上下文切换同时进行的任务数),则 CPU 内核可能无法充分利用。如果N太高,则线程将竞争 CPU,因此单个请求的延迟可能会增加。

标签: c#multithreadingthreadpool

解决方案


推荐阅读