gpt4 book ai didi

c# - .NET 中的 "start/affinity"等价物

转载 作者:可可西里 更新时间:2023-11-01 09:18:23 26 4
gpt4 key购买 nike

start Windows shell 命令(在 cmd.exe 中)似乎能够启动进程具有选定的处理器关联,而不是启动进程然后在它启动后的某个(小)时间段内设置所选的处理器亲和性。

start /affinity 2 something.exe

有没有办法在使用或不使用 P-Invoke 的情况下在 .NET 应用程序中执行相同的操作?调用 cmd.exe/C start ... 不算在内。

Process 类具有 ProcessorAffinity 属性,但如果您在调用 Start 之前尝试设置它,它会抛出 InvalidOperationException 方法。

最佳答案

我怀疑 start 命令在这种情况下所做的是启动暂停的进程(即,在调用 CreateProcess 时传递 CREATE_SUSPENDED),然后设置处理器亲和性,然后恢复线程。

这样,当进程存在时没有设置进程关联,当它开始执行时处理器关联已经设置,所以它只会运行在指定的处理器上。

关于c# - .NET 中的 "start/affinity"等价物,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/2976600/

26 4 0
Copyright 2021 - 2024 cfsdn All Rights Reserved 蜀ICP备2022000587号
广告合作:1813099741@qq.com 6ren.com