Hey.
Ich hab mir einen Thread erstellt, welcher abwechselnd Addresse und Daten auf einen Bus legt.
Dieser Thread wird mehrfach aufgerufen. Soll heißen Der erste Thread kümmert sich um die ersten 10 Addressen der zweite um die zweiten 10.
Nun möchte ich das die Kombination Adresse-Daten gelockt ist, also wenn die Adresse geschickt wurde, danach auf jedenfall die dazugehörigen Daten geschickt werden.
Jetzt dacht ich, dass genau das mutex lock macht???
Jedoch wenn ich mir anzeigen lasse was gesendet wird, kann es vorkommen das zwei adressen nacheinander bzw.zwei mal Daten nacheinander geschickt werden. Sich also die Threads überschneiden.
Hab ich das mit dem Mutex da falsch verstanden und muss eine andere Methode verwenden? (ReadWritelocker hab ich an dieser Stelle auch versucht, gleiches Ergebniss)
QMutex Verständnis
-
- Beiträge: 7319
- Registriert: 26. August 2004 14:11
- Wohnort: Bremen
- Kontaktdaten:
Re: QMutex Verständnis
Ein Mutex serialisert Zugriff auf Daten, mehr nicht. Wie Du auf die Daten zugreifst und welcher Thread welche Daten verarbeitet liegt natürlich in deiner Programmlogik.
MfG Christian
'Funktioniert nicht' ist keine Fehlerbeschreibung
'Funktioniert nicht' ist keine Fehlerbeschreibung
-
- Beiträge: 15
- Registriert: 30. Mai 2017 13:05
Re: QMutex Verständnis
Danke für die Antwort.
Aber gibt es eine Möglichkeit, dass ein gewünschter Inhalt immer im Paket gesendet wird, ohne dass ein anderer Thread da dazwischen funkt?
Ich muss erst das Adress byte und anschließend das Daten byte ausgeben, aber genau an dem Punkt kommen sich die Threads in die Quere.
Gibt es da einen Lösungsvorschlag?
Aber gibt es eine Möglichkeit, dass ein gewünschter Inhalt immer im Paket gesendet wird, ohne dass ein anderer Thread da dazwischen funkt?
Ich muss erst das Adress byte und anschließend das Daten byte ausgeben, aber genau an dem Punkt kommen sich die Threads in die Quere.
Gibt es da einen Lösungsvorschlag?