우선 submit()과 execute() 메서드는 스레드 풀에서 작업을 처리하는데 사용되는 메서드
작업 처리 결과 반환:
submit() 메서드는 작업 처리 결과를 받을 수 있도록 Future 객체를 반환
submit()을 사용하면 작업의 결과를 추출하거나 작업이 완료되었는지 확인할 수 있다. 예를 들어, 작업이 어떤 값을 계산하고 그 값을 반환한다면, submit() 메서드는 그 값을 Future 객체로 받을 수 있다.
반면, execute() 메서드는 작업 처리 결과를 반환하지 않는다!
예외 처리:
execute() 메서드는 작업 처리 중에 예외가 발생하면 해당 스레드가 종료되고 스레드 풀에서 제거된 후, 새로운 스레드가 생성되어 다른 작업을 처리한다. 이로 인해 execute() 메서드는 예외가 발생하면 해당 스레드를 종료하고 새로운 스레드를 생성하는 오버헤드가 발생한다.
반면, submit() 메서드는 작업 처리 중에 예외가 발생해도 스레드가 종료되지 않고 다음 작업에 재사용되는데, 이는 작업 처리 속도를 향상시킬 수 있음
'의문점 공부하기 > 📌 Java' 카테고리의 다른 글
📌 jsp를 기본 제공하는 객체는 ??? (0) | 2023.08.09 |
---|---|
📌 JSP와 Servlet의 차이점은 !!!? (0) | 2023.08.04 |
📌 스레드 풀을 생성할 수 있는 여러가지 방법은 뭐가 있을까?????? (0) | 2023.07.31 |
📌 thread run()과 thread start()의 차이가 뭘까? (0) | 2023.07.28 |
📌 notify()와 notifyAll()의 차이는 뭘까?! (1) | 2023.07.25 |