PDA

Archiv verlassen und diese Seite im Standarddesign anzeigen : [QT] Was ist besser? QThread oder QTimer?



fraggo01
23-08-2004, 11:24
Hallo,

es soll ein Prozesse, mit QProcess, zu unterschiedlichen Zeiten gestartet werden.
Der QProcess ist immer nur einer (aufnahme mit mencoder von tv).

beispielsweise so:
thread 1 start in 10 min
thread 2 start in 5 min
thread 3 start in 15min

Zeitliche Überschneidungen sind nicht möglich, die fange ich vorher ab...
In dieser zeit sollen aber benutzereingaben möglich sein.


Also muss ich entweder mehrere QTimer oder QThreads starten.
Nun stellt sich mir die frage, welches ich verwenden soll.

Allem anschein nach wäre QThread wahrscheinlich besser geeignet. (sieht einfacher aus :D )



P.S.: Mal ne frage am rande: wenn ich ein objekt der klasse Class erzeugen will, darf dann der name des objekts aus einer variable zusammen gesetzt werden?

Also so ungefähr:

for(int i = 0; i<x; ++i)
{
Class objekt(i);
...
}

anda_skoa
23-08-2004, 13:48
Also muss ich entweder mehrere QTimer oder QThreads starten.
Nun stellt sich mir die frage, welches ich verwenden soll.

Allem anschein nach wäre QThread wahrscheinlich besser geeignet. (sieht einfacher aus :D )

Definitiv QTimer.
QThread ist viel komplizierter und hier absolut unnötig.

Einfach einen Timer mit zB 5 Sekunden Intervall starten und im Slot kontrollieren, ob schon eine der Zeiten erreicht ist, bzw der Abstand zur Zielzeit < 5 Sekunden ist.



P.S.: Mal ne frage am rande: wenn ich ein objekt der klasse Class erzeugen will, darf dann der name des objekts aus einer variable zusammen gesetzt werden?

Der Name einer Variablen steht zur Kompilezeit fest, ist also nicht Variabel.




Also so ungefähr:

for(int i = 0; i<x; ++i)
{
Class objekt(i);
...
}

Hier gibts du einen Integer an den Konstruktor der Klasse Class.
Wenn du mit einem Index auf Objekte zugreifen willst, nimm eine Liste oder einen Vektor.

Ciao,
_

fraggo01
23-08-2004, 19:06
Danke für deine hilfe,

hab mir das mal angeschaut mit vektoren und listen...
Das find ich ganz schön kompliziert, aber werd ich schon schaffen. :cool:

Na ja, ich werd bestimmt irgendwann nochmal nerven. :D

fraggo01
23-08-2004, 21:32
Ich hab es doch mit QThread und QThreadStorage gemacht, ich find das irgendwie einfacher als mit QTimer.
Kommt meinen anforderungen auch näher, da ich nun auch variablen an jeden thread übergeben muss.