QThread vs std :: thread

Ich habe verschiedene Themen zu "pthread vs std :: thread" und "QThread vs pthread" gesehen, aber keine zu "std :: thread vs QThread".

Ich muss eine Software programmieren, um einen 3D-Drucker anzutreiben, und ich muss Threads verwenden. Es wird einen Thread geben, der die Sicherheit ständig überprüft, einen anderen, um den Druckvorgang auszuführen, einige, um jede Hardwarekomponente (Bewegung, Jet, ...) separat anzutreiben, usw. Das Programm wurde für Windows mit C ++ 11 entwickelt /Qt

Zunächst wollte ich QThread verwenden, aberes scheint mir, dass QThread es Ihnen nicht erlaubt, so viele Dinge wie std :: thread @ zu tu, als ich zum Beispiel "C ++ Concurrency in Action" von Anthony Williams las, sah ich, dass es möglich war, einen std :: thread aufzufordern, eine Funktion von einem anderen Thread auszuführen, indem man so etwas wie @ ausführtstd::thread t1(&Class::function, this, ...); was mit QThread nicht möglich zu sein scheint.

Der Mechanismus, den ich am liebsten hätte, ist eine Art zu sagen, ob eine Funktion im aktuellen Thread oder in einem anderen Thread ausgeführt werden soll.

Welche würdest du wählen und warum?

Antworten auf die Frage(6)

Ihre Antwort auf die Frage