async1 [Java] 비동기 + multi threading 구현 데이터베이스 업데이트 프로젝트를 진행하던 때에 데이터를 가공하는 작업을 수행하는데 시간이 매우 오래 걸리는 부분이 있었다. 업데이트를 위해 수집해온 데이터가 8천만개 이상인 상황에서 싱글 쓰레드로 수행하면 완료 시간이 말도 안되는 시간이 예상되어 멀티 쓰레딩을 통한 시간 단축이 필수라고 생각되었다. 구현 로직 구현은 java 8에서 비동기 요청을 처리할때 사용하는 객체인 CompletableFuture를 사용하였다. 1. 데이터 가공 2. 가공한 데이터를 저장 1번 완료 후 리턴값을 받아서 2번을 수행하는 과정을 모두 비동기 작업으로 병렬처리한다. ThreadPoolTaskExecutor 별도의 thread pool을 생성하여 실행하기위해 Executor를 설정하여 bean으로 등록해둔다. @Config.. 2023. 3. 1. 이전 1 다음