Использование массивов в parallelStream
От: Stas0n  
Дата: 17.12.15 19:27
Оценка:
Безопасно ли использовать массивы в parallelStream? Речь идет о заполнении массива и обращениях к элементам.

int range = 1000000;
 
    int[] arr1 = new int[range];
    int[] arr2 = new int[range];
 
    // заполнение массивов
    IntStream.range(0, range).parallel()
        .forEach(i -> {
            arr1[i] = method1(i);
            arr2[i] = method2(i);
        });
 
    // обращение к элементам
    double sum = IntStream.range(0, range).parallel()
            .mapToDouble(i -> {
                return Math.min(arr1[i]/arr2[i], 0d);
            })
            .reduce(0, Double::sum);


Потокобезопасно ли делать так?
 
Подождите ...
Wait...
Пока на собственное сообщение не было ответов, его можно удалить.