Asynchrone Funktionen

Alles rund um die Programmierung mit Qt
Antworten
jack
Beiträge: 10
Registriert: 15. Januar 2005 13:48

Asynchrone Funktionen

Beitrag von jack »

Hallo alle zusammen,

ich würde gerne wissen, wie ihr asynchrone Funktionen realisiert!

Nach meinem jetzigen Erkenntnisstand würde ich ungern meine Klassen von QThread ableiten um nur eine oder zwei asynchrone Funktionen zu realisieren.

Da bevorzuge ich lieber die statische Methode QMetaObject::invokeMethod, was hält ihr von dieser Methode und wie realisiert ihr asynchrone Abläufe?

Danke
upsala
Beiträge: 3946
Registriert: 5. Februar 2006 20:52
Wohnort: Landshut
Kontaktdaten:

Beitrag von upsala »

Zwei Möglichkeiten: Custom-Events und QTimer-Signale
RHBaum
Beiträge: 1436
Registriert: 17. Juni 2005 09:58

Beitrag von RHBaum »

wie upsala andeutet gibt es fuer asynchrone sachen, neben dem multithreading, nur noch die leerlaufschlaife die man nutzen kann ^^

wenn man sowas macht, um sich das multithreading zu ersparen, kopmmt in die eigentliche funktion aber nen overhead rein ... weil die funktion immer stueckchenweisse ausgefuehrt werden muss, und daher ihre statis speichern muss um irgendwann mal wieder weitermachen zu koennen wo sie letztes mal aufhoerte ...
Bei komplizierteren funktionen ist das nicht mehr haendelbar.

Ich persoenlich verwende immer multithreading bei solchen sachen ^^ Mit bisserl erfahrung und nem blick worauf man zu achten hat, was man schueetzen muss etc ... iss das viel einfacher zu haendeln (sofern nich andere dinge dagegen sprechen, z.b. nicht multithreading faehige bibos, aber da bekommt man ja in QT eh probleme).

Die QT4 machts einem ja noch einfacher, da signale und slots eh multithread technisch entkoppelt sind.

QThread verwende ich eher seltener (ok, ich bin auch nicht wirklich plattformunabhaengig ^^) ich zieh meine threads eigentlich immer selber auf .... und lagere viel in DLL's aus ...

Ciao ...
Antworten