【发布时间】:2021-01-09 10:56:42
【问题描述】:
我创建了一个通过 Windows 服务运行的多线程应用程序。早些时候,我的系统中有 2 个核心,我已增加到 6 个核心。即使在增加内核数量之后,我的应用程序的性能也没有得到优化 我尝试了线程和任务来在我的应用程序中实现多线程,但我的应用程序的性能没有显着差异。 如何找到我的应用程序在我的系统中运行或正在使用的线程和内核的数量,以便我可以知道我的所有内核是否都在使用?
【问题讨论】:
-
您要求的内容比
Environment.ProcessorCount更具体? -
“我的应用程序的性能没有显着差异。” - 首先,你确认CPU是瓶颈了吗?如果您的问题是例如受 I/O 限制,有多少内核可用并不重要。
-
Environment.ProcessorCount 告诉核心的数量,而不是没有使用的操作系统核心
标签: c# multithreading windows-services task-parallel-library threadpool