• 카테고리

    질문 & 답변
  • 세부 분야

    백엔드

  • 해결 여부

    미해결

멀티 스레드 적용 방식 차이가 있나요?

22.11.24 18:12 작성 조회수 338

0

이전 강의:
AsyncItemProcessor, AsyncItemWriter 구현체 적용하는 방식

현재 강의:
TaskExecutor 구현체 적용하는 방식

 

요 두가지 방식에서 기능+성능 차이가 있을까요?
단순히 적용 방식 차이 뿐인지 궁금합니다

 

 

 

답변 1

답변을 작성해보세요.

0

기능적으로는 AsyncItemProcessor, AsyncItemWriter 같은 경우 실제 비동기 실행은

AsyncItemProcessor 에서만 이루어 집니다.

즉 ItemReader 와 ItemWriter 는 동기 실행입니다.

하지만 Multi-threaded Step 은 ItemReader, ItemProcessor, ItemWriter 모든 클래스가 비동기 실행으로 배치 처리가 진행됩니다.

특히 ItemReader 같은 경우 스레드에 안전하도록 동기화 처리가 필요합니다.

성능차이는 단정적으로 비교할 수 있는 것은 아닙니다.

아무래도 읽을 데이터가 많거나 쓰기 작업까지 포함되는 배치일 경우 Multi-threaded Step 방식이 좀 더 성능적으로 유리하지 않을까 합니다.