inflearn logo
강의

강의

N
챌린지

챌린지

멘토링

멘토링

N
클립

클립

로드맵

로드맵

지식공유

김영한의 실전 자바 - 고급 3편, 람다, 스트림, 함수형 프로그래밍

Fork/Join 프레임워크2 - 작업 훔치기

임계값과 스레드수를 줄일 경우 교착상태가 발생할수 있는건가요?

해결된 질문

100

안녕

작성한 질문수 1

0


[질문 템플릿]
1. 강의 내용과 관련된 질문인가요? (예/아니오)
2. 인프런의 질문 게시판과 자주 하는 질문에 없는 내용인가요? (예/아니오)
3. 질문 잘하기 메뉴얼을 읽어보셨나요? (예/아니오)

[질문 내용]

스레드를 조인하면 다른 스레드의 작업이 처리될때까지 기다려야한다고 배웠는데, 지금 예시에서는 스레드 수가 여유로워서 괜찮지만 만약 제목대로 임계값을 더 작게 하고, 스레드 수도 줄인다면 처리할 스레드의 수가 부족해져 데드락이 발생할 수도 있는 상황인지 궁금합니다

java 함수형-프로그래밍 lambda optional

답변 2

1

김영한

안녕하세요. 안녕님

Fork/Join에서 join()은 대기하는 동안 자기 큐나 다른 워커의 큐에서 작업을 훔쳐 직접 실행하기 때문에 일반적으로 데드락이 일어나지는 않습니다. 물론 느리게 처리될 수는 있겠지요?

감사합니다.

0

인프런 AI 인턴

안녕하세요, 인프런 AI 인턴입니다.
안녕님, 스레드 처리에 관한 질문을 주셨네요.

스레드를 조인하는 것은 다른 스레드의 작업이 완료될 때까지 기다리는 것을 의미합니다. 스레드 수를 줄이고 임계값을 더 작게 설정할 경우, 스레드가 작업을 처리할 수 있는 여유가 줄어들기 때문에 교착상태(데드락)가 발생할 가능성이 높아집니다. 교착상태는 두 개 이상의 스레드가 서로가 끝나길 기다리고 있어, 아무도 진행할 수 없는 상태가 되는 것입니다.

이를 방지하기 위해서는 스레드 풀의 크기와 작업의 임계값을 조정하여 적절한 자원 배분이 이루어지도록 관리해야 합니다. 더 자세한 분석을 위해서는 코드 예제와 스레드 설정을 함께 검토하는 것이 좋습니다.

추가적인 참고가 필요하시다면 Spring Boot Hot Swapping 가이드를 확인해 보세요. 도움이 되셨길 바랍니다!

db sql vs java stream 비교 궁금증 알려주세요!

1

70

1

파라미터 구분이 안되는지..?

0

67

1

자바 21 버전을 꼭 써야하나요??

0

143

2

9. 스트림 API3-컬렉터 오타?

0

77

2

(추석 챌린지) 복습 정리내용

0

94

1

람다 궁금한 점

0

69

2

스트림과 for문 질문

0

41

1

디폴트 메서드를 사용한 리펙토링

0

51

1

실무에서의 커스텀 Collector 사례 여부

0

62

1

IntelliJ 한글 깨지는 현상 문의

0

193

1

함수형 프로그래밍 적용 범위/원칙

0

59

1

스트림에 대해서 질문(float)은 사용하는지

0

55

1

[자료 패키지 누락] 2.람다 자료에서 문제 패키지명 생략 (25page)

0

60

2

지연 평가

0

68

1

메서드 시그니처

0

99

3

고급편 우선순위

0

129

3

스프링 데이터 JPA 인터페이스에서의 default 메서드 사용

0

112

2

독립적인 스레드 할당 시 스레드 개수는 어떻게 할당해야 할까요?

0

85

1

병렬 프레임 병목 현상 해결책에 대해 궁금한 점

0

101

1

스트림 중복 에러 관련 질문

0

69

1

자바 버전이 31 까지 업데이트 된다면 새로운 자바 강의를 추가 하실 건가요?

0

132

1

변수 합치기에 대해서 질문드립니다!

0

80

2

flatMap 응용 방법에 대해서, 이렇게 하는게 맞는지?

0

122

1

선생님께 질문드립니다!

0

96

1