linux - QThread::start(优先级) vs Linux
问题描述
我QThread
在 KDE Neon 18.04 中使用了一些基于工作线程(基于 Ubuntu 18.04,内核 4.15.0-46-generic)。工作线程干扰了我的桌面应用程序,所以我决定降低它们的优先级。
Qt 文档QThread::start(priority)
说:
优先级参数的效果取决于操作系统的调度策略。特别是,在不支持线程优先级的系统上,优先级将被忽略(例如在 Linux 上, 有关详细信息,请参阅http://linux.die.net/man/2/sched_setscheduler )。
阅读上述文档后,我预计优先级不会对我的 Linux 系统产生影响。我还是试了一下。你猜怎么着——它工作得很好。
那么,为什么 Qt 文档声明 Linux 上没有线程优先级?为什么它仍然有效?
解决方案
根据您使用的 Linux/Unix/*Nix 的风格,调度程序可能支持也可能不支持。据我所知,现在大多数 Linux 系统都支持 Qt 的大多数优先级,但不是所有的优先级。我怀疑文档说它不受支持,因此他们不需要列出支持优先级以及支持哪些级别的操作系统变体和调度程序变体的每个组合。
htop
您可以通过使用ortop
和处理来验证它是否具有正确的优先级awk
:https ://unix.stackexchange.com/questions/19301/what-is-a-command-to-find-priority-of-process-在Linux中
推荐阅读
- math - 计算“给定'n'个相邻数字的最大乘积”的不一致行为(D语言)
- django - Django Values + Annotate Avg() 没有正确分组
- aws-sdk-js - aws-sdk(用于 Javascript)应该在 deno 上工作吗?
- javascript - React Native - 将平面列表中所选项目的 id 发送到新屏幕
- nginx - Nginx如何为负载平衡带宽返回静态URL的随机数
- spring - camunda 中的独占网关后,ProcessInstanceQuery 在第二个服务任务中不返回结果
- vba - Visual Basic 将数据作为 json 对象发送到 api
- python-3.x - 如何使 pdfkit(和 wkhtmltopdf)在 Google Colab 上工作?
- mongodb - 如何使用 Realm 后端生成的 jwt 登录 mongoDB Realm?
- php - 如何在 woocommerce 中调用 jquery datepicker 的输入?