我正在迭代结构向量并单独处理每个结构。
它看起来像这样:
for_each(begin(data),end(data),DoTask);
//assume "data" is std::vector<DataT>
//assume DoTask is a function that takes a DataT by reference
由于 DoTask 连接到特定网站并分析 HTML,因此代码速度非常慢。
加快速度的最佳方法是什么?
我的目标是同时分析多个 DataT。
我对线程很陌生,但是std::异步 http://en.cppreference.com/w/cpp/thread/async and 标准::未来 http://en.cppreference.com/w/cpp/thread/future看起来很有前途。
你可以做这样的事情
for(T& d : data) std::thread(DoTask, d).detach();
或者您可以使用更复杂的东西,例如英特尔的线程构建块和parallel_for
(这不是名字吗?)其功能。
本文内容由网友自发贡献,版权归原作者所有,本站不承担相应法律责任。如您发现有涉嫌抄袭侵权的内容,请联系:hwhale#tublm.com(使用前将#替换为@)