-1
私のプログラムでシグナルがトリガーされている限り、スリープ状態のスレッドが必要です。 私は、関数シリアル::のsendRequest()私のクラスのをQthreadを作成し、それQthread - イベントまでスリープ
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();
に私のクラスを追加した信号によってトリガされなければなりません。 もう1度、CPU時間を無駄にすることなくスレッドをスリープ状態にします。
単純に_slot_ 'sendRequest()'をシングルに接続するだけで動作します。あなたの特定の問題は何ですか? –
私の問題は、qthread :: runがCPUを焼くイベントループを開始することを知らなかったことです。しかし、今私はそれを知っている:) –