-1
내 programm에서 신호가 트리거되는 한 잠든 스레드가 필요합니다. 나는 함수 시리얼 :: 위치한 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();
내 클래스를 추가 신호에 의해 트리거해야합니다. 다른 시간에 CPU 시간을 낭비하지 않고 스레드가 절전되기를 원합니다.
단순히 _slot_'sendRequest()'를 singal에 연결하면됩니다. 당신의 구체적인 문제는 무엇입니까? –
내 문제는 qthread :: run이 CPU를 구우지 않는 이벤트 루프를 시작한다는 것을 몰랐다는 것입니다. 하지만 지금 나는 그것을 알고 :) –