the following code sometimes generates NullPointerException Exception at ret.forEach(v -> System.out.println(v));
line.
I think I have to use synchronized block or Lock Interface to avoid this error.
Is it correct?
Please tell me some advice.
List<Integer> ret = new ArrayList<>();
IntStream.range(0, 10).parallel().forEach(i -> {
if (i % 2 == 0) {
try {
System.out.println("stop" + i);
Thread.sleep(10000);
} catch (InterruptedException e) {
// TODO Auto-generated catch block
e.printStackTrace();
}
}
ret.add(i);
});
ret.forEach(v -> System.out.println(v));