0
저는 C++과 QT 프로그래밍에 익숙하며 QThread가 하나의 작업을 실행하는 데 필요한 시간을 밀리 초 단위로 가져오고 싶습니다. 이 옵션이 있습니까? 당신은 두 개의 신호를 생성해야합니다C++/qt에서 스레드의 작업 시간을 얻는 방법?
인사말
저는 C++과 QT 프로그래밍에 익숙하며 QThread가 하나의 작업을 실행하는 데 필요한 시간을 밀리 초 단위로 가져오고 싶습니다. 이 옵션이 있습니까? 당신은 두 개의 신호를 생성해야합니다C++/qt에서 스레드의 작업 시간을 얻는 방법?
인사말
- 시작 하나하고 작업을 마무리 한. 스타트 신호에 접속 슬롯이, 이런 시작 시간을 저장한다 : 현재, 예
qint64 msecs = mStartTime.msecsTo(QDateTime::currentDateTime());
:
및 종료 신호에 접속 슬롯, 이와 같은 차이를 계산한다 나는 이런 것을 사용했다. 하지만 문제는 스레드가 일시 중지 될 수 있다는 것입니다 (특히 단일 코어에서). 그래서 시간은 "실제 작업 시간"보다 큽니다 –
사실, 여기에서 문제를 볼 수 있습니다. 나는 이것이 응용 프로그램 수준에서 해결할 수없는 작업 인 것을 두려워합니다. OS 자체만이 스레드에 할당 된 CPU 시간 수를 계산할 수 있습니다. 그래서 저는 정말로 생각하지 않습니다. Qt는이 정확한 시간을 계산할 수 있습니다. 당신은 사용중인 OS의 API를 봐야합니다. – Amartel