Skip to content
New issue

Have a question about this project? Sign up for a free GitHub account to open an issue and contact its maintainers and the community.

By clicking “Sign up for GitHub”, you agree to our terms of service and privacy statement. We’ll occasionally send you account related emails.

Already on GitHub? Sign in to your account

[아이템 46] 스트림에서는 부작용 없는 함수를 사용하라 #71

Closed
Jeongminyooa opened this issue Nov 21, 2023 · 3 comments
Assignees

Comments

@Jeongminyooa
Copy link
Contributor

No description provided.

@Jeongminyooa
Copy link
Contributor Author

Q1. groupingBy랑 groupingByConcurrent의 사용 의도에 대한 질문 @Song-EunJu

ConcurrentMap<String, List<String>> result = list.parallelStream()
    .collect(Collectors.groupingByConcurrent(String::length));

보여주신 예제에서는 stream()parallelStream()을 사용하여 병렬 스트림 사용 여부에서도 차이가 발생하는 것 같습니다. 따라서 예시를 보며 하기와 같은 의문이 들었습니다.

  • groupingByparallelStream() 로 사용하거나, groupingByConcurrentstream()을 사용한다면 어떤 차이가 있는가?
  • groupingByConcurrent의 사용은 단순히 ConcurrentMap 구현체로 받아주기 위해 사용하는 것이 아닌가?

@Jeongminyooa
Copy link
Contributor Author

Q2. reducing의 역할은 maxBy나 minBy를 커스텀할 수 있다는 것에서 의미가 있는 것인지
A2.
max/min이랑 관련있기 보다는 min,max 내부에서 reducing을 호출하고 있다. reducing만 사용해서 같은 기능 동작을 할 수 있게끔 할 수 있다는 것을 사례로 보여준 것.
반복 결합에서 사용되는 일반적인 함수로 이해하면 좋을 듯.

@Jeongminyooa Jeongminyooa pinned this issue Nov 27, 2023
@Jeongminyooa
Copy link
Contributor Author

Jeongminyooa commented Nov 27, 2023

Q3. stream과 같은 병렬 처리 경험이 있다면 공유
A3. 멀티 프로세싱 라이브러리를 활용한 파이썬 프로그래밍. 스트림에서 offset 이 주어지면 buffer 의 해당 위치부터 데이터를 읽으며 병렬 처리.

Sign up for free to join this conversation on GitHub. Already have an account? Sign in to comment
Labels
None yet
Projects
None yet
Development

No branches or pull requests

2 participants