假设您有一个Windows进程A,其优先级为Abovenormal,它启动另一个进程B,但没有指定优先级。 进程B的优先级是否从进程A的优先级inheritance? 那么,过程B的优先级是什么? Abovenormal,normal或其他?
CMDbatch file来运行R代码。 我怎样才能select不同版本的R?
NASM ReadConsoleA或WriteConsoleA缓冲区debugging问题
RedrawWindow和Win32中的UpdateWindow有什么区别?
有没有办法来检查一个模块是否被Windows中的多处理标准模块加载?
在cygwin / windows下的NPM脚本:命令的语法不正确
如果未指定,则在某些情况下,优先级类将被继承。
它发生在调用进程在IDLE_PRIORITY_CLASS或BELOW_norMAL_PRIORITY类中时。 否则,它将获得norMAL_PRIORITY_CLASS,除非在CreateProcess调用期间指定。
MSDN在CreateProcess的dwCreationFlags上说:
该参数还控制新进程的优先级,用于确定进程线程的调度优先级。 有关值的列表,请参阅GetPriorityClass。 如果没有指定任何优先级标志,则优先级缺省为norMAL_PRIORITY_CLASS,除非创建进程的优先级为IDLE_PRIORITY_CLASS或BELOW_norMAL_PRIORITY_CLASS。 在这种情况下,子进程接收调用进程的默认优先级。
因此答案是正常优先级。 基本上任何超出正常水平的东西都不会传递给孩子。
从CreateProcess的文档:
dwCreationFlags [in]
控制优先级和创建进程的标志。 有关值的列表,请参阅进程创建标志。
该参数还控制新进程的优先级,用于确定进程线程的调度优先级。 有关值的列表,请参阅GetPriorityClass。 如果没有指定任何优先级标志,则优先级缺省为norMAL_PRIORITY_CLASS,除非创建进程的优先级为IDLE_PRIORITY_CLASS或BELOW_norMAL_PRIORITY_CLASS。 在这种情况下,子进程接收调用进程的默认优先级。
所以,在你的例子中,新的进程将具有正常的优先级。
在Windows进程中,优先级不会被继承。
版权声明:本文内容由互联网用户自发贡献,该文观点与技术仅代表作者本人。本站仅提供信息存储空间服务,不拥有所有权,不承担相关法律责任。如发现本站有涉嫌侵权/违法违规的内容, 请发送邮件至 [email protected] 举报,一经查实,本站将立刻删除。