¿Se puede hacer cada iteración de un bucle for / for_each en paralelo? (C ++ 11)

Estoy iterando sobre un vector de estructuras y procesando cada estructura individualmente.
Se ve algo como esto:

<code>for_each(begin(data),end(data),DoTask);
//assume "data" is std::vector<DataT>  
//assume DoTask is a function that takes a DataT by reference
</code>

El código es significativamente lento porque DoTask se conecta a sitios web particulares y analiza HTML.
¿Cuál sería la mejor manera de acelerar esto?
Mi objetivo es analizar múltiples DataTs al mismo tiempo.
Soy muy nuevo en enhebrar, perostd :: async ystd :: futuro parece prometedor

Respuestas a la pregunta(3)

Su respuesta a la pregunta