【发布时间】:2016-02-17 00:39:17
【问题描述】:
我有一个 C++/Qt5 程序,它使用 setpriority() 设置进程的优先级。该进程使用 QProcess 启动多个可执行程序。
QProcess 启动的程序会以主进程的 NEW 优先级运行吗?或者 QProcess 是否将它们的优先级设置为 0?
【问题讨论】:
我有一个 C++/Qt5 程序,它使用 setpriority() 设置进程的优先级。该进程使用 QProcess 启动多个可执行程序。
QProcess 启动的程序会以主进程的 NEW 优先级运行吗?或者 QProcess 是否将它们的优先级设置为 0?
【问题讨论】:
你说的是 QProcesses 还是 QThreads? QProcess 没有setPriority,但QThread::setPriority 有。这会影响 pthread 调度策略,即 by default 继承给子线程。
至于 QProcess,至少在 *nix 中它是一个常规的 fork(),它保留了它在调用期间的 niceness 值。所以如果你修改主进程,这个值会被传递给子进程。
【讨论】: