¿Siempre debo usar un flujo paralelo cuando sea posible?
Con Java 8 y lambdas es fácil iterar sobre colecciones como flujos, e igual de fácil usar un flujo paralelo. Dos ejemplos de los documentos , el segundo usando parallelStream:
myShapesCollection.stream()
.filter(e -> e.getColor() == Color.RED)
.forEach(e -> System.out.println(e.getName()));
myShapesCollection.parallelStream() // <-- This one uses parallel
.filter(e -> e.getColor() == Color.RED)
.forEach(e -> System.out.println(e.getName()));
Mientras no me importe el orden, ¿sería siempre beneficioso usar el paralelo? Uno pensaría que es más rápido dividir el trabajo en más núcleos.
Hay otras consideraciones? Cuándo se debe usar la corriente paralela y cuándo se debe usar la corriente no paralela ¿usado?
(Esta pregunta se hace para desencadenar una discusión sobre cómo y cuándo usar flujos paralelos, no porque creo que siempre usarlos sea una buena idea.)
Warning: Undefined property: agent_blog_content::$date_asked in /var/www/agent_etc/data/www/ajaxhispano.com/template/agent.layouts/content.php on line 32
Warning: Undefined property: agent_blog_content::$count_answers in /var/www/agent_etc/data/www/ajaxhispano.com/template/agent.layouts/content.php on line 52