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.
Механизм, который я хотел бы иметь больше всего, - это способ сказать, хочу ли я, чтобы функция выполнялась в текущем потоке или в другом потоке.
Какой из них вы бы выбрали для этого и почему?