QThread vs std :: thread

Vi diferentes temas en "pthread vs std :: thread" y "QThread vs pthread" pero ninguno en "std :: thread vs QThread".

Tengo que programar un software para manejar una impresora 3D y necesito usar hilos. Habrá un hilo que verificará la seguridad constantemente, otro para ejecutar el proceso de impresión, algunos para manejar cada componente de hardware (movimiento, chorro, ...) por separado, etc. El programa está desarrollado para Windows con C ++ 11 / Qt.

Primero quería usar QThread, perome parece que QThread no te permite hacer tantas cosas como std :: thread, por ejemplo, mientras leía "C ++ Concurrency in Action" de Anthony Williams, vi que era posible pedirle a un std :: thread que ejecutara una función desde otro hilo haciendo algo comostd::thread t1(&Class::function, this, ...); lo que no parece posible con QThread.

El mecanismo que más me gustaría tener es una forma de decir si quiero que una función se ejecute en el hilo actual o en otro hilo.

¿Cuál elegirías para hacer eso y por qué?

Respuestas a la pregunta(3)

Su respuesta a la pregunta