작성
·
455
0
이전 강의:
AsyncItemProcessor, AsyncItemWriter 구현체 적용하는 방식
현재 강의:
TaskExecutor 구현체 적용하는 방식
요 두가지 방식에서 기능+성능 차이가 있을까요?
단순히 적용 방식 차이 뿐인지 궁금합니다
답변 1
0
네
기능적으로는 AsyncItemProcessor, AsyncItemWriter 같은 경우 실제 비동기 실행은
AsyncItemProcessor 에서만 이루어 집니다.
즉 ItemReader 와 ItemWriter 는 동기 실행입니다.
하지만 Multi-threaded Step 은 ItemReader, ItemProcessor, ItemWriter 모든 클래스가 비동기 실행으로 배치 처리가 진행됩니다.
특히 ItemReader 같은 경우 스레드에 안전하도록 동기화 처리가 필요합니다.
성능차이는 단정적으로 비교할 수 있는 것은 아닙니다.
아무래도 읽을 데이터가 많거나 쓰기 작업까지 포함되는 배치일 경우 Multi-threaded Step 방식이 좀 더 성능적으로 유리하지 않을까 합니다.