C# 有没有办法测量工作在核心之间的分布情况?
我想知道,有没有可靠的方法来观察(或衡量)我的应用程序的工作分配到服务器核心的情况?我想到的唯一(非常不科学)选项是:C# 有没有办法测量工作在核心之间的分布情况?,c#,.net,performance,parallel-processing,task-parallel-library,C#,.net,Performance,Parallel Processing,Task Parallel Library,我想知道,有没有可靠的方法来观察(或衡量)我的应用程序的工作分配到服务器核心的情况?我想到的唯一(非常不科学)选项是: “注视”任务管理器中的CPU图形 让应用程序在完成每项工作时不断向控制台写出Thread.CurrentThread.ManagedThreadId 当然还有更好的选择吗 背景: 我的应用程序监听传入的数据包,在内存中做一些工作,并将数据写入数据库。 我的目标平台是一台有四个内核的Windows服务器。我的应用程序的第一个版本显然使用了一个核心,而其他三个核心大部分是空闲的。我
Thread.CurrentThread.ManagedThreadId
Task.Factory.StartNew()
部署了第二个版本,试图在每次收到数据包时将工作分配给其他内核。现在看起来所有的核心都比我第一个应用程序中的单核要忙
并发可视化工具使您能够查看
多线程应用程序与自身、硬件和
操作系统和计算机上的其他进程。这些观点
提供图形、表格和文本数据,显示时间
程序中的线程与系统之间的关系
全部
@RobertHarvey-太棒了!非常感谢。如果你想把它作为一个答案,我很乐意接受。