QThread, QMutex, QReadWriteLock

Verschiedenes zu Qt
Antworten
Johnny Freak
Beiträge: 29
Registriert: 4. April 2007 15:45

QThread, QMutex, QReadWriteLock

Beitrag von Johnny Freak »

Hallo alle zusammen.
Ich beschäftige mich gerade mit Multithread-Programmierung. Ich hab schon Erfahrungen mit QMutex gemacht, habe aber irgendwie das Gefühl, das geht wahsinnig langsam.
Zu meiner Situation: ich habe einen zyklischen Datenaustausch (lesen und schreiben) mit dem Inverter eines Motors über RS485. Diese Kommunikation soll logischerweise nicht von meine Visualisierung gestört werden, daher verwende ich Threads. Gut, ich habe eine Vielzahl von globale Variablen, die ich einerseits durch die Kommunikation mit dem Inverter verändere und andererseit durch die Visualisierung darstelle. Mit QMutex habe ich die Sache schon zum Laufen gebracht.

Ich wollte eigentlich nur wissen, was das Effizienteste ist, was ich generell in solchen Fällen einsetzen sollte. Ich will auf jeden Fall die zwei Sachen trennen und nicht mit Signale und Slots u.Ä. die Sachen voneinander abhängig machen. Unverzichtbar sind meine globale Variablen, für alle anderen Ideen wäre ich dankbar.
Johnny Freak
Beiträge: 29
Registriert: 4. April 2007 15:45

Beitrag von Johnny Freak »

Ok, so langsam ist das auch wieder nicht. Habe gerade nochmal getestet. Trotzdem würde es mich interessieren.
Christian81
Beiträge: 7319
Registriert: 26. August 2004 14:11
Wohnort: Bremen
Kontaktdaten:

Beitrag von Christian81 »

Wenn Du unbedingt globale Variablen willst geht kein Weg an irgend einen Mutex vorbei. QMutex kann nicht so langsam sein da es auf pthreads bzw. WinAPI - Mutex aufsetzt.
Ich kommuniziere mit meinen Threads immer per Signal/Slot - da habe ich diese Probleme nicht.
MfG Christian

'Funktioniert nicht' ist keine Fehlerbeschreibung
Johnny Freak
Beiträge: 29
Registriert: 4. April 2007 15:45

Beitrag von Johnny Freak »

Freut mich für Dich.
Nein, um QMutex kommt man nicht herum und die Geschwindigkeit ist ausreichend.
Antworten