묻고 답해요
141만명의 커뮤니티!! 함께 토론해봐요.
인프런 TOP Writers
-
미해결스프링 핵심 원리 - 고급편
ThreadLocal 질문입니다
동시성 이슈를 ThreadLocal을 사용하여 해결하는 내용 잘 들었습니다. 강의를 들으면서 ThreadLocal 관련하여 궁금한 점이 있습니다. 갑자기 트래픽이 몰려서 수 많은 요청이 들어오게 될 경우 ThreadLocal에도 동시에 많은 TraceId를 쓰게 될텐데 메모리의 이슈는 없을까요? 제가 생각한 답변은 "WAS가 제공하고 있는 스레드 풀이 허용하는 범위 내에서의 요청은 문제없다." 인데 만약 아니라면 답변 부탁드립니다. 추가적으로 비동기 서버 환경(ex. Spring Webflux)에서도 수 많은 요청시 동일한 이슈는 없을지 궁금합니다.
-
해결됨스프링 핵심 원리 - 고급편
ThreadLocal 동시성 이슈 (ArrayList, HashMap, HashSet)
안녕하세요! 김영한님!!수업 너무 유익하게 잘 듣고있습니다~!! 동시성 이슈를 막기 위해 ThreadLocal을 사용하는 부분 중에서 궁금한 점이 생겨서 질문 드립니다. String, TraceId의 타입에 대해서는 ThreadLocal을 사용해서 동시성 이슈를 해결하였는데, 필드로 ArrayList, HashMap, HashSet을 사용하고 싶은 경우에는 동시성 이슈를 어떻게 해결하면 될까요 ? 구글링을 했었을 때에는 멀티쓰레드 환경에서는 HashMap 대신에 ConcurrentHashMap을 사용해라고 봤었고, ArrayList 대신에 CopyOnWirteArrayList를 사용해라고 봤었고, HashSet에 대해서는 제대로 찾지 못했습니다. 멀티쓰레드 환경에서 Thread-Safe하게 ArrayList, HashMap, HashSet을 사용하려면 어떻게 해야하나요 ?
-
미해결스프링 MVC 1편 - 백엔드 웹 개발 핵심 기술
안녕하세요! 질문이 있습니다.
안녕하세요 영한님! 항상 좋은 강의 감사드립니다. 수업을 들으면서 궁금한 사항이 생겨 질문드립니다. HttpServletRequest가 client의 요청마다 새로 생성되고 client의 요청 -> 응답 사이클 동안 유지되는 객체라면 혹시, threadLocal의 대안이 될 수도 있을까요?