인프런 커뮤니티 질문&답변

iloveoov님의 프로필 이미지
iloveoov

작성한 질문수

스프링 배치

Multi-threaded Step

taskExcecutor 지정해서 muti 쓰레드로 실행시 어플리케이션 종료되지 않는 이슈

작성

·

315

0

안녕하세요.
 
taskExcecutor 지정해서 muti 쓰레드로 실행시 어플리케이션 종료되지 않는데 이건 taskExecutor 내부적으로 뭔가가 떠있어서 그런건가요?
 
taskExcecutor 지정 안했을 때는 정상 종료됩니다.

답변 1

1

정수원님의 프로필 이미지
정수원
지식공유자

taskexecutor 는 스레드를 생성하고 관리하는 풀 개념의 클래스입니다.

그렇기 때문에 스레드가 작업을 다 완료했다고 하더라도 종료되는 것이 아니라 다시 풀에 반환되어 재 사용 할 수 있도록 계속 존재하고 있을 수 있습니다.

풀 개념의 taskexecutor 가 아닌 스레드를 생성하고 실행 후 스레드가 모두 종료가 된다면 어플리케이션도 종료가 될 것입니다.

먼저 디버깅을 통해 taskexecutor 의 어떤 종류인지 확인 해 보시고 스레드가 모두 작업을 종료한 이후에도 taskexecutor 안에 스레드가 계속 존재하는지를 확인해 보시기 바랍니다.

 
iloveoov님의 프로필 이미지
iloveoov

작성한 질문수

질문하기