for 루프는 고정 된 횟수만큼 실행됩니다. 일반적으로 입력에 따라 100-300 범위로 실행됩니다. 이 루프를 반복 할 때마다 스레드를 만들고 싶은 함수가 호출됩니다.Qt에서 함수 스레딩
void myClass::processFile()
{
...
for (int index = 0; index < 200; index++)
{
//Function or loop to thread
generateData(someMapOfMaps1[index], someMapOfMaps2[index]);
}
}
: 입력 파일로부터 그랩에게 데이터를 스레드 함수 여기
몇몇 상위 레벨 코드 ... 그리고, 일부 재료를 수행하는 출력 파일에 새로운 포맷으로 써
그런 다음 같은 클래스 내 generateData 내부 : 나는 QtConcurrent::run()
과 QtConcurrent::mapped()
와 함께 놀았하지만 훨씬 리터를하지 않았다
void myClass::generateData(QMap<float, foo*> mapA, QMap<float, foo*> mapB)
{
//read in data from a file
//process data
//write data to a different file
}
알았어. 나는 mapped()
이 훌륭한 선택이었을 것이라고 믿지만, 내 기능은 단지 하나가 아니라 2 개의 맵을 필요로합니다. http://www.develer.com/promo/workshop/enhancing_with_multi_threading.pdf
감사 : 슬라이드 약 25
내가 자원으로이 사용하던!