Ich möchte einen Thread, der so lange schläft, wie ein Signal in meinem Programm ausgelöst wird. Ich habe eine QThread und hinzugefügt meine Klasse esQthread - Schlaf bis Ereignis
QThread* serialthread = new QThread;
Serial* serial = new Serial();
serial->moveToThread(serialthread);
connect(serial, SIGNAL(error(QString)), this, SLOT(errorString(QString)));
connect(serialthread, SIGNAL(started()), serial, SLOT(process));
connect(serial, SIGNAL(finished()), serialthread, SLOT(quit()));
connect(serial, SIGNAL(finished()), serial, SLOT(deleteLater()));
connect(serialthread, SIGNAL(finished()), serialthread, SLOT(deleteLater()));
serialthread->start();
Die Funktion Serien :: sendrequest() meine Klasse soll durch ein Signal ausgelöst werden. Das andere Mal möchte ich den Thread so schlafen lassen, ohne CPU-Zeit zu verschwenden.
Einfaches Verbinden des _slot_ 'sendRequest()' mit einem Signal sollte funktionieren. Was sind deine spezifischen Probleme? –
mein Problem ist, dass nicht wusste, dass qthread :: run startet eine Ereignisschleife, die doenst CPU brennen. aber jetzt weiß ich es :) –