私は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()
がすばらしい選択だったと信じていますが、私の関数はただ1つではなく2つのマップを取ります。 http://www.develer.com/promo/workshop/enhancing_with_multi_threading.pdf
ありがとう:スライド25の周り
私は、資源としてこれを使用していた!