Important: Please read the Qt Code of Conduct - https://forum.qt.io/topic/113070/qt-code-of-conduct

Qt的线程能否指定CPU



  • 大家好

    我在嵌入式考虑资源的问题,希望把某些比较复杂的线程固定在另一个核中,界面固定在第一个核,想这样来保证界面不会被其他线程影响导致卡顿。

    通过QThread::currentThreadId() 得到线程ID,再利用 sched_setaffinity() 设置CPU的硬亲和力达到上述效果。

    现在的疑惑点是:

    1. 对于以Qt的IDE创建出来的线程,上述方法是否适用?
    2. 每一种Qt 创建线程的方式是否会有区别,尤其是一些简化创建的线程,如QtConcurrent::run();换个角度,线程池的线程是否也适用。
    3. 可否在线程内进行此操作,还是要在外部。

    本人在线程这方面没有太过深入的了解,望各路大佬指教。

    感谢
    Mihan


Log in to reply