ExecutorService의 execute와 submit

sjh00n·2021년 12월 29일
0

위 그림에서 보는 것처럼 사실 execute method는 Executor interface의 method이며, ExecutorServiceExecutor를 상속한 관계입니다. 두 method의 차이점은 아래와 같습니다.

execute

  • Executor interface의 method
  • parameter로 Runnable만 받음
  • return하는 값이 없음

submit

  • ExecutorService interface의 method
  • parameter로 Runnable 또는 Callable을 받음
  • Future를 return

execute method에서는 return하는 값이 없으므로 동작 결과에 대해 더 이상 알 방법이 없는데요. submit method에서는 Future를 return하기 때문에 Future 객체에 접근하여 비동기 동작 결과에 대해서 접근이 가능합니다.

참고로 Futureget method를 통해 결과값을 얻을 수 있지만, 결과값을 얻을 수 있는 상태가 될 때까지 block되는 것을 유의해야합니다.

참고자료 및 그림 출처: https://www.geeksforgeeks.org/difference-between-executorservice-execute-and-submit-method-in-java/

profile
developer

0개의 댓글