Re: pthreads und Qt

2009-04-05 Diskussionsfäden Friedrich W. H. Kossebau
N'Abend zusammen,

Le Sonntag, 5. April 2009, à 21:01, Bernhard Schiffner a écrit:
> On Sunday 05 April 2009 20:26:01 Stefan Majewsky wrote:
> > On Sonntag 05 April 2009 19:50:29 Bernhard Schiffner wrote:
> > > Hallo (Josef),
> > >
> > > könnte mir jemand am Mi eine kleine Unterweisung geben,
> > > wie man unter Qt (4.5) threads anlegt, die unabhängig
> > > von der GUI (main event loop) sind ?
> >
> > Bin zwar nicht Josef, aber ich glaube, dass QThread genau das sein
> > sollte, was du suchst: http://doc.trolltech.com/latest/qthread.html
> >
> > Das Ding musst du ableiten, um QThread::run zu reimplementieren, was die
> > main- Funktion des Threads ist. Wenn du möchtest, kannst du in dem Thread
> > eine abgetrennte Event-Loop starten (per QThread::exec), aber das musst
> > du nicht, wenn du nicht möchtest.
> >
> > Gruß
> > Stefan
>
> Hatte ich gelesen aber nicht verstanden.
> (Irgendwie hatte ich QThread::exec mit QApplication.exec gleichgesetzt.
> Und dort hängt ja X drin...)

Jain.

> Danke!
>
> Ein Beispiel (vermutlich wie man's nicht machen soll) bringe ich Mi mit.

Ein Beispiel, wie man es z.B. machen kann, findest Du beim Network-Kioslave*, 
Dateien networkthread.* und networkslave.cpp.
Beim NetworkThread wird der Standard-Eventloop des Threads öfter ein- und 
ausgeschaltet ("exec()" und "exit()"), je nachdem, ob Eventverarbeitung 
geschehen soll, was für Signal/Slot, Timer, D-Bus und einiges anderes mehr im 
Thread benötigt wird.

* http://websvn.kde.org/trunk/playground/network/networkkio/ioslave/

Gruß
Friedrich

___
Lug-dd maillist  -  Lug-dd@mailman.schlittermann.de
https://ssl.schlittermann.de/mailman/listinfo/lug-dd


Re: pthreads und Qt

2009-04-05 Diskussionsfäden Stefan Majewsky
On Sonntag 05 April 2009 21:01:37 Bernhard Schiffner wrote:
> Hatte ich gelesen aber nicht verstanden.
> (Irgendwie hatte ich QThread::exec mit QApplication.exec gleichgesetzt.
> Und dort hängt ja X drin...)

Im Prinzip ist QThread::exec dasselbe wie QCoreApplication::exec. 
QApplication::exec fügt die Anbindung an den X-Server hinzu.

Gruß
Stefan


signature.asc
Description: This is a digitally signed message part.
___
Lug-dd maillist  -  Lug-dd@mailman.schlittermann.de
https://ssl.schlittermann.de/mailman/listinfo/lug-dd

Re: pthreads und Qt

2009-04-05 Diskussionsfäden Bernhard Schiffner
On Sunday 05 April 2009 20:26:01 Stefan Majewsky wrote:
> On Sonntag 05 April 2009 19:50:29 Bernhard Schiffner wrote:
> > Hallo (Josef),
> >
> > könnte mir jemand am Mi eine kleine Unterweisung geben,
> > wie man unter Qt (4.5) threads anlegt, die unabhängig
> > von der GUI (main event loop) sind ?
> 
> Bin zwar nicht Josef, aber ich glaube, dass QThread genau das sein sollte, 
> was 
> du suchst: http://doc.trolltech.com/latest/qthread.html
> 
> Das Ding musst du ableiten, um QThread::run zu reimplementieren, was die main-
> Funktion des Threads ist. Wenn du möchtest, kannst du in dem Thread eine 
> abgetrennte Event-Loop starten (per QThread::exec), aber das musst du nicht, 
> wenn du nicht möchtest.
> 
> Gruß
> Stefan
> 

Hatte ich gelesen aber nicht verstanden.
(Irgendwie hatte ich QThread::exec mit QApplication.exec gleichgesetzt.
Und dort hängt ja X drin...)

Danke!

Ein Beispiel (vermutlich wie man's nicht machen soll) bringe ich Mi mit.

Bernhard


___
Lug-dd maillist  -  Lug-dd@mailman.schlittermann.de
https://ssl.schlittermann.de/mailman/listinfo/lug-dd


Re: pthreads und Qt

2009-04-05 Diskussionsfäden Stefan Majewsky
On Sonntag 05 April 2009 19:50:29 Bernhard Schiffner wrote:
> Hallo (Josef),
>
> könnte mir jemand am Mi eine kleine Unterweisung geben,
> wie man unter Qt (4.5) threads anlegt, die unabhängig
> von der GUI (main event loop) sind ?

Bin zwar nicht Josef, aber ich glaube, dass QThread genau das sein sollte, was 
du suchst: http://doc.trolltech.com/latest/qthread.html

Das Ding musst du ableiten, um QThread::run zu reimplementieren, was die main-
Funktion des Threads ist. Wenn du möchtest, kannst du in dem Thread eine 
abgetrennte Event-Loop starten (per QThread::exec), aber das musst du nicht, 
wenn du nicht möchtest.

Gruß
Stefan


signature.asc
Description: This is a digitally signed message part.
___
Lug-dd maillist  -  Lug-dd@mailman.schlittermann.de
https://ssl.schlittermann.de/mailman/listinfo/lug-dd

pthreads und Qt

2009-04-05 Diskussionsfäden Bernhard Schiffner
Hallo (Josef),

könnte mir jemand am Mi eine kleine Unterweisung geben,
wie man unter Qt (4.5) threads anlegt, die unabhängig
von der GUI (main event loop) sind ?

Bernhard

___
Lug-dd maillist  -  Lug-dd@mailman.schlittermann.de
https://ssl.schlittermann.de/mailman/listinfo/lug-dd