WeeklyStudy / modern-java-in-action

Modern Java in Action Study
0 stars 0 forks source link

상태가 있음과 없음은 병렬 처리에서 어떤 연관성이 있을까? #16

Open ddackkeun opened 1 year ago

ddackkeun commented 1 year ago

문제

해당 장을 학습하면서 연산과 관련하여 상태가 있는 연산과 상태가 없는 연산에 대해 설명하는 부분이 많았다. 이러한 연산의 상태는 추후 7장에서 다룰 병렬 처리와 연관될 것으로 보인다. 그렇다면 상태가 있음과 없음은 병렬 처리에서 어떤 연관성이 있을까?

관련 목차

참고자료

ddackkeun commented 1 year ago

답변

상태가 없는 연산

현재 순회 중인 요소를 처리하는 동안 이전에 처리된 데이터 요소의 상태를 유지하지 않는 연산

  • 각 요소의 처리는 다른 요소와 독립되어 수행 ⇒ 성능상의 이점
  • 상태가 없는 중간 연산으로만 이뤄진 파이프 라인의 경우 데이터 요소에 한 번만 접근
  • filter, map, takeWhile 등 연산이 있다.

상태가 있는 연산

현재 순회 중인 요소를 처리하는 동안 이전에 처리된 데이터 요소의 상태를 활용하는 연산

상태있는 연산과 병렬 처리의 연관성