Non-Blocking Event

Alles rund um die Programmierung mit Qt
Antworten
stonecold
Beiträge: 147
Registriert: 19. Oktober 2005 10:48

Non-Blocking Event

Beitrag von stonecold »

Hallo,

ich möchte eine Application mit zwei Eventloops erstellen, ohne die zweite Loop in einem seperatem Thread laufen zu lassen.

Hier habe ich mal ein Beispiel wie es mit OmniOrb, einer Corba-Implementierung, gelöst werden kann.


.... while (!done) {
if (orb->work_pending())
orb->perform_work(); ....

anstatt:

... orb->run(); ....

Kann ich, in Anlehnung an dieses Beispiel, in diesem Beispiel die Qt Eventloop integrieren?
Falls ja - wie?

Kann die Qt Eventloop ggf. in einen QThread laufen. Anderum ist es nämlich nicht möglich.
upsala
Beiträge: 3946
Registriert: 5. Februar 2006 20:52
Wohnort: Landshut
Kontaktdaten:

Beitrag von upsala »

Welchen Sinn sollte eine 2. Event-Loop machen?
stonecold
Beiträge: 147
Registriert: 19. Oktober 2005 10:48

Beitrag von stonecold »

Bei der zweiten Eventloop handelt es sich um eine Ereignissteuerung auf die eine GUI aufgesetzt werden soll. Diese kann allerdings nur aus dem Mainthread heraus laufen.

Mehr siehe: CORBA -> CORBA SERVICES -> EVENT SERVICE

:?: :?: :?:
Christian81
Beiträge: 7319
Registriert: 26. August 2004 14:11
Wohnort: Bremen
Kontaktdaten:

Beitrag von Christian81 »

Das geht nur mit einem zweiten Thread
MfG Christian

'Funktioniert nicht' ist keine Fehlerbeschreibung
stonecold
Beiträge: 147
Registriert: 19. Oktober 2005 10:48

Beitrag von stonecold »

Danke für die Antwort.

Ich hoffe es ist klar geworden was ich machen will. Ich will die beiden Eventloop durch die Whileschleife ersetzten und so im Prinzip zwei Eventloops kombinieren.

Das aufgeführte Beispiel ist aus dem Buch "Advanced CORBA Programming with C++" und soll zeigen wie man eine derartige Corba-Anwendung mit einer GUI kombiniert.

Sollte das also tatsächlich nicht so funktionieren, kann ich dann wenigsten die Gui-komponente aus dem Thread heraus benutzen da ich, wie erwähnt, die andere Eventloop in der Main brauche?
Christian81
Beiträge: 7319
Registriert: 26. August 2004 14:11
Wohnort: Bremen
Kontaktdaten:

Beitrag von Christian81 »

Man kann nur im Main-Thread auf die gui 'zugreifen' - also muss wohl das andere in einen anderen Thread.
MfG Christian

'Funktioniert nicht' ist keine Fehlerbeschreibung
Antworten