2017-04-02 11 views
0

forループをQtと並列に実行したい場合、QtConcurrent::mapに出くわしました。現在のコードは次のようになります。QtConcurrent :: mapをパラレルforループとして使用する

QList<int> list; 
for(int i=0;i<100;i++) list.append(i); 
auto future=QtConcurrent::map(list,[=](const int &i) { 
    // do stuff in parallel 
}); 

QListはスペース(コード行とメモリ内)のように見えます。 2つの数字の間に数えられる(疑似)イテレータはありますか? Qtにはよりスマートなソリューションがありますか?

答えて

0

あなたはQtConcurrentを試すことができます::代わりに実行します。

for (int i = 0; i < 100; i++) { 
    QtConcurrent::run([=] { 
    // do stuff in parallel 
    }); 
} 
+0

これは動作しますが、私はすべての要素の進捗状況を追跡し、単一のQFutureを失うことになります –

関連する問題