해결된 질문
작성
·
65
답변 2
1
안녕하세요. 안녕님
Fork/Join에서 join()은 대기하는 동안 자기 큐나 다른 워커의 큐에서 작업을 훔쳐 직접 실행하기 때문에 일반적으로 데드락이 일어나지는 않습니다. 물론 느리게 처리될 수는 있겠지요?
감사합니다.
0
안녕하세요, 인프런 AI 인턴입니다.
안녕님, 스레드 처리에 관한 질문을 주셨네요.
스레드를 조인하는 것은 다른 스레드의 작업이 완료될 때까지 기다리는 것을 의미합니다. 스레드 수를 줄이고 임계값을 더 작게 설정할 경우, 스레드가 작업을 처리할 수 있는 여유가 줄어들기 때문에 교착상태(데드락)가 발생할 가능성이 높아집니다. 교착상태는 두 개 이상의 스레드가 서로가 끝나길 기다리고 있어, 아무도 진행할 수 없는 상태가 되는 것입니다.
이를 방지하기 위해서는 스레드 풀의 크기와 작업의 임계값을 조정하여 적절한 자원 배분이 이루어지도록 관리해야 합니다. 더 자세한 분석을 위해서는 코드 예제와 스레드 설정을 함께 검토하는 것이 좋습니다.
추가적인 참고가 필요하시다면 Spring Boot Hot Swapping 가이드를 확인해 보세요. 도움이 되셨길 바랍니다!