我正在尝试在具有 16 个物理处理器内核、32 个逻辑处理器的机器上的进程上设置处理器关联。之前,我们使用的是 int 但是当你有 32 个逻辑核心时它会溢出。
在设置处理器关联时使用 long 而不是 int 是否仍然有效?
请参阅下面的代码。
try
{
string pathToExe = GetPathToExe( jobType );
long processorAffinity = DetermineProcessorAffinity();
Process jobProcess = Process.Start( pathToExe, jobId.ToString() );
if ( jobProcess != null )
{
jobProcess.ProcessorAffinity = new IntPtr( processorAffinity );
}
}
最佳答案
来自 IntPtr documentation :
换句话说:它应该在 64 位系统上工作,但不能在 32 位系统上工作。我想这对你来说不是问题。
关于c# - 在具有 32 多个逻辑核心的系统上使用 Process.ProcessorAffinity,我们在Stack Overflow上找到一个类似的问题:https://stackoverflow.com/questions/6228510/