Nun zu dem Beitrag von RHBaum:
In der obigen Beschreibung von RHBaum wurde eine Thread(1)-Instanz erzeugt und wenn ich es richtig verstanden habe wurde innerhalb dieser Instanz ein weiterer Thread(2) erzeugt, der sofort pausiert wurde.
Thread(2) stellt eine Einsprungsfunktion bereit an die wir aus Thread(1) den this-Pointer übergeben.
In Thread(2) wird dieser Pointer auf QThread gecastet.
In Thread(1) kann ich mit exec Thread(2) laufens lassen.
Wer ruft hier run von wo auf?in der statischen startmethode wird nix anderes gemacht, als der context zeiger auf QTread gecastet, und an diesem zeiger gleich die methode run aufgerufen
Beide Threads bieten eine RUN-Methode.
Und weiter gehts...
Thread(2) kennt alle Objekte, die Thread(1) auch kennt (wegen this-pointer)
Falls ich was falsch verstanden habe bitte bescheid sagen.
Last but not least...
Im Prinzip so wie ich es oben gemacht habe, nur noch einen Pointer übergeben.unter QT wuerde man das eher anders loesen ... eine Klasse, die mehrere Ableitungen von von qthread instanzieiert (statisch oder dynamisch) , und diese bekommen nen zeiger auf die Instanz in der sie erzeugt wurden.
so koennen dann memberfunktionen von der klasse aus meheren threads aus aufgerufen werden ...
Nun bezogen auf meine Aufgabe:
Meiner Meinung nach wäre bei meinen Threads ein Pointer auf die Instanz, wo sie erzeugt werden, uninteressant.
Wüsste jetzt nicht warum ich die Methoden der erzeugenden Klasse von meinem Thread aus aufrufen sollte.
Ich würde so vorgehen:
Die Daten die für das ThreadX angekommen sind übergebe ich als Parameter(z.B. über eine Thread-Funktion), so dass sie in die Thread-Instanz lokal reinkopiert/verarbeitet werden.