QThread против std :: thread

Я видел разные темы по "pthread vs std :: thread" и "QThread vs pthread", но не по теме "std :: thread vs QThread".

Я должен запрограммировать программное обеспечение для управления 3D-принтером и использовать потоки. Будет поток, который будет постоянно проверять безопасность, другой для выполнения процесса печати, другой для управления каждым аппаратным компонентом (движение, реактивный двигатель, ...) по отдельности и т. Д. ... Программа разработана для Windows с C ++ 11 / Qt.

Сначала я хотел использовать QThread, номне кажется, что QThread не позволяет вам делать столько вещей, сколько std :: threadНапример, читая Энтони Уильямса «Параллельность C ++ в действии», я увидел, что можно попросить std :: thread выполнить функцию из другого потока, выполнив что-то вродеstd::thread t1(&Class::function, this, ...); что не представляется возможным с QThread.

Механизм, который я хотел бы иметь больше всего, - это способ сказать, хочу ли я, чтобы функция выполнялась в текущем потоке или в другом потоке.

Какой из них вы бы выбрали для этого и почему?

Ответы на вопрос(3)

Ваш ответ на вопрос