2011-04-12 4 views
1

저는 프로그래머가 아니며 제 표현을 위해 QT를 처음 사용했습니다.미리 정의 된 클래스를 Qthread를 사용하여 스레드로 이동

센서 클래스를 메인에서 다른 .cpp 파일로 Qt에 이미 만들었습니다. 프로그램을 실행할 때마다 속도가 느려지고 지연되어 센서에서 값을 검색하는 클래스에 대해 다른 스레드를 만들 것을 제안했습니다. 이 클래스를 별도의 새 스레드로 옮기고 싶습니다. 새로운 Qthread의 run() 함수 아래에서 모든 것을 복사하고 붙여 넣기 만하면됩니다 (함수 호출, 신호 등 ..).

절차가 아닌 경우 기본 용어로 도움이 될 것입니다. QT 색인 정보를 이해하지 못합니다. 당신은 Qt를에서 초보자 특히 멀티 스레딩이 경우 Qt Concurrent Framework을 시도

감사

답변

2

, 난 당신을 추천합니다. 그러면 최소한 충분한 경험 없이도 알아보기 힘든 충돌 및 교착 상태를 보호 할 수 있습니다. QFuture W QFutureWatcher를 사용하여 스레드에서 함수를 실행하고 데이터를 읽으십시오.

전반적으로 설명이 매우 일반적이므로 QThread에서 수업을 사용하는 방법에 대한 명확한 답변을 제공 할 수 있는지 잘 모르겠습니다.

+2

+1 아마도 가장 좋은 방법 일 것입니다. QThread 문서를 사용하는 것과는 달리 QThread를 사용하고 싶다고 느끼면 QThread를 서브 클래 싱하지 않아야합니다. 논리를 QObject 서브 클래스에 넣고 moveToThread()를 사용하여 QThread에서 실행하십시오. 몇 가지 정보는 http://labs.qt.nokia.com/2010/06/17/youre-doing-it-wrong/에서 확인할 수 있습니다. –

관련 문제