Senden großer Datenmengen zwischen Qt-Threads
Ich habe einQThread
Dadurch wird regelmäßig eine relativ große Datenmenge (einige Megabyte pro Sekunde) generiert, die an den übergeordneten Thread (GUI) übertragen werden muss.
Ich fürchte, ich bin mir in der inneren Funktionsweise von nicht so sicherQThread
deshalb möchte ich um eine best practice bitten.
Offensichtlich ist der direkteste Weg, Daten zu übertragen, einfachemit
eine Anordnung. Wie effizient ist dies jedoch? Weiß Qt, wo es verwendet wird, und vermeidet es, es beim Senden und Empfangen zu kopieren?
Wenn nicht, kann ich gerne einfach den Speicher im Hauptthread zuweisen und dem untergeordneten Thread einen Zeiger geben, in den die Daten geschrieben werden (und nuremit
kurze Nachrichten über den Fortschritt). Dies scheint mir nicht die eleganteste Lösung zu sein, deshalb frage ich.
Wenn Qt das Kopieren der Daten in mehrere Puffer beim Senden und Empfangen vermeidet, ist dies in allen Systemen gewährleistet? Ich habe nicht die Ressourcen, um es unter verschiedenen Betriebssystemen zu testen.