Como usar Fluxos Paralelos em Java
Streams em Java vêm em dois sabores básicos: sequencial e paralelo. Os elementos de um fluxo sequencial são produzidos pela corrente método e criar fluxos que são processados um elemento após a próxima. fluxos paralelos, em contraste, pode tirar proveito de processadores multicore, quebrando seus elementos em duas ou mais pequenos riachos, executando operações sobre eles, e então recombinar os fluxos separados para criar o fluxo de resultado final.
Cada um dos fluxos intermédios podem ser processados por um segmento separado, o que pode melhorar o desempenho de grandes correntes.
Por padrão, os fluxos são sequenciais. Mas a criação de um fluxo paralelo é fácil: Basta usar o parallelStream em vez do método corrente método no início da tubagem.
Por exemplo, para imprimir todos os feitiços de HP usando uma corrente paralela, use este código:
. Spells.parallelStream () foreach (s -> System.out.println (s)) -
Note que quando você usa um fluxo paralelo, não é possível prever a ordem em que cada elemento do fluxo é processado. Isso porque quando o fluxo é dividido e executado em duas ou mais linhas, a ordem em que o processador executa os fios não é previsível.
Para demonstrar este ponto, considere o seguinte exemplo simples:
System.out.println ( "primeiro fluxo paralelo:") -spells.parallelStream () foreach (s -> System.out.println (s)) - System.out.println ( " Nsecond fluxo paralelo:"). - . spells.parallelStream () foreach (s -> System.out.println (s)) -
Ao executar este código, os resultados será algo parecido com isto:
Primeiro fluxo paralelo: FideliusFinite IncatatumEngorgioLocomotor MortisApareciumAvisSecond fluxo paralelo: FideliusEngorgioFinite IncatatumLocomotor MortisAvisAparecium
Note que, embora os mesmos períodos são impressos para cada uma das correntes, que são impressas numa ordem diferente.