ThreadPoolTaskExecutor2 [쿠링] Multi thread를 활용한 공지 조회속도 개선 (feat 동기화) 해당 글은 개인 프로젝트를 개선해 나가면서 내용을 정리하는 글입니다. 제가 고민한 고민들을 그냥 복붙 하는 블로그를 본적이 있습니다.... 양심 부탁드립니다... 1. 도입 배경쿠링에서는 학교의 전체 공지를 주기적으로 scrap해와야 한다.하지만 이를 동기 처리 하다 보니 특정 학과의 scrap 속도가 늦어지면, 자연스럽게 전체 작업 속도가 늦어지는 문제가 발생하였다. 문제는 학교의 API를 사용하는 방식이 아니라, 직접 scrap을 통해 정보를 긁어오는 형식이기 때문에 주기적으로 신규 공지를 확인해줘야 하는데, 단일 코어상의 싱글 스레드로 처리하기에는 작업이 너무나 오래 걸렸다. 내가 생각한 공지 확인 간격보다, 한번 업데이트하는 시간이 더 길어지는 문제가 발생한 것이다!나는 이를 해결하기 위해 Mul.. BackEnd/쿠링 2023. 4. 28. [Spring] @Async와 ThreadPoolTaskExecutor 1. ThreadPoolTaskExecutor 스레드 풀을 사용하는 Executor java.util.concurrent.Executor를 Spring에서 구현한 것 이다. org.springframework.scheduling.concurrent 패키지에서 제공 주로 spring에서 비동기처리를 위해 사용 스레드풀을 사용하여 멀티스레드 구현을 손쉽게 해준다. Default 생성자 하나만 존재 2. Configuration 2 - 1) Pool size configuration @Bean public ThreadPoolTaskExecutor shineTaskExecutor() { ThreadPoolTaskExecutor taskExecutor = new ThreadPoolTaskExecutor(); ta.. BackEnd/Spring 2023. 3. 26. 이전 1 다음