Tre*_*key 10 c++ parallel-processing asynchronous future c++11
我正在遍历结构的向量并单独处理每个结构.
它看起来像这样:
for_each(begin(data),end(data),DoTask);
//assume "data" is std::vector<DataT>
//assume DoTask is a function that takes a DataT by reference
Run Code Online (Sandbox Code Playgroud)
代码非常慢,因为DoTask连接到特定网站并分析HTML.
什么是加快这个速度的最好方法?
我的目标是同时分析多个DataT.
我对线程很新,但是std :: async和std :: future看起来很有前途.
你可以做这样的事情
for(T& d : data) std::thread(DoTask, d).detach();
Run Code Online (Sandbox Code Playgroud)
或者您可以使用更复杂的东西,如英特尔的线程构建模块和parallel_for(不是名称?)功能.
| 归档时间: |
|
| 查看次数: |
5069 次 |
| 最近记录: |