Notice
Recent Posts
Recent Comments
Link
목록Stream (1)
jiny
Stream parallel 병렬 처리에 List 사용 시, 충돌 문제
Stream.parallel() 을 사용하여 List 에 값을 추가하고, List를 반환하여 추가 작업을 하려는데 문제가 발생했습니다. 대략 아래와 같은 상황으로 List에 값을 추가하고 List를 그대로 반환하려고 했습니다. @Test public void List_는_멀티스레드에서_안전하지_않다() { List list = new ArrayList(); IntStream stream = IntStream.rangeClosed(0, 499); stream.parallel().forEach(i -> { list.add(i); }); assertThat(list.size()).isEqualTo(500); } 분명 parallel() 은 병렬 처리를 안전하게 쉽게 도와주는 것으로 알고 List 에는 500개..
Project/작은 지식
2023. 12. 27. 19:07