Ich bin völlig neu in der Programmierung mit Threads, und da die Klasse QThreads verwendet, frage ich mich, warum ich nicht start
Funktion von QThread in sich selbst aufrufen und seine run
Funktion starten unabhängig von einem anderen Thread (das Programm scheint abstürzen, wenn ich das mache). Stattdessen muss ich die Startfunktion von überall aufrufen, wo das Objekt deklariert wurde. Warum ist das?Warum kann ich die Startfunktion einer Klasse nicht von selbst aufrufen?
Einige Code:
class ClassWithThread : public QThread
{
public:
ClassWithThread() {}
someFunction() {start();}
run()
{
//do some stuff here
}
}
Das ist im Grunde, was meine Klasse tut. Wenn ich someFunction
rufe, stürzt das Programm ab. Wenn ich die start
Anweisung von obwohl, und Anruf start
von außerhalb des Programms entfernen, dann funktioniert es gut.
Beitrag einige Code zu vermeiden hilft. –
Welche Art von Funktion ist Start? statisch oder so? Bitte poste mehr Code. – Arunmu
@ArunMu nichts ist statisch – wrongusername