Ich habe eine Software im QT-Framework (C++), die verarbeitete (lokale) Daten an andere Server weiterleiten und die gleichen (fremden) Daten auf anderen Servern verarbeiten und vergleichen soll .QTcpServer empfängt und sendet in einem anderen Thread
Problem tritt auf, wenn eine große Menge an lokalen Daten verarbeitet wird. Fremddaten werden gepuffert und erst nach dem Senden aller lokalen Daten in den Vergleichsprozess übernommen. Ich brauche die Daten in bestimmten Zeitrahmen verglichen werden, so dass dies eine Zeitüberschreitung verursacht.
Eine Idee war es, einen Thread zu verwenden, um lokale Daten und einen anderen Thread zu senden, um fremde Daten zu empfangen und zu vergleichen. QTcpServer wird wahrscheinlich einen Mutex benötigen, um ihn vor gleichzeitigem Lesen und Schreiben zu schützen.
Ist dies mit einer Verbindung möglich, oder wäre es besser, eine Verbindung für den Versand und eine für den Empfang in der QT-Umgebung zu haben?
überprüfte ich die Fortune-Server Beispiel http://doc.qt.io/qt-5/qtnetwork-threadedfortuneserver-example.html aber ich muss wissen, ob es möglich und sinnvoll ist verschiedene Threads für das Senden und Empfangen auf derselben Verbindung zu verwenden.
PS. Ich bin neu im Multithreading, also entschuldige ich mich, wenn ich einige Konzepte falsch verstanden habe.
'QTcpConnection' kann nur in _one_ thread leben. Sie müssen _have_ in demselben Thread senden/empfangen. Das heißt, Sie müssen Daten nicht im selben Thread verarbeiten wie die Verbindung. Dies ist der Teil, der tatsächlich eine Weile dauern kann. –