Thread과 Executor는 비교할 수 없습니다. Thread은 프로그램의 실제 스레드를 나타내는 Java에 속하는 기본 구조이고, run 메서드는 스레드 실행 프로세스입니다. Executor은 Thread에 캡슐화되어 있으며 스레드 풀 및 스레드 재사용 개념을 도입하여 운영 효율성을 높이고 리소스를 절약합니다. Executor은 스레드의 연속 실행을 제어합니다. 간단히 말해서 Thread의 run 메서드에는 무한 루프 while(true) {}가 있으므로 Executor가 보유한 Thread는 계속 실행되고 멈추지 않습니다. shutdown 메소드를 사용하면 Executor가 하위 Thread에게 루프에서 벗어나 스레드를 중지하도록 지시할 수 있습니다. 물론 Thread에는 shutdown과 유사한 메서드가 없습니다. 많은 프로그램에서는 계속 실행하려면 스레드가 필요하며 이때 Thread을 상속하고 캡슐화할 때 스레드 종료 메서드를 직접 구현해야 합니다.
Java에서 main을 반환하는 문제에 대해서는 아직은 void의 C이 비교적 오래된 프로그램이라 설명하기가 쉽지 않은 것 같아요. 사용자에게 알리기 위해 반환 값에 의존해야 합니다. 프로그램이 정상적으로 실행되는지 여부에 따라 달라지며 main에는 건전한 예외 메커니즘이 있고 프로그램이 콘솔을 직접 제어하지 않으므로 반환 값이 있더라도 Java 프로그램이 아닌 Java Runtime에서 수행해야 합니다. Java
Thread
과Executor
는 비교할 수 없습니다.Thread
은 프로그램의 실제 스레드를 나타내는Java
에 속하는 기본 구조이고,run
메서드는 스레드 실행 프로세스입니다.Executor
은Thread
에 캡슐화되어 있으며 스레드 풀 및 스레드 재사용 개념을 도입하여 운영 효율성을 높이고 리소스를 절약합니다.Executor
은 스레드의 연속 실행을 제어합니다. 간단히 말해서Thread
의run
메서드에는 무한 루프while(true) {}
가 있으므로Executor
가 보유한Thread
는 계속 실행되고 멈추지 않습니다.shutdown
메소드를 사용하면Executor
가 하위Thread
에게 루프에서 벗어나 스레드를 중지하도록 지시할 수 있습니다. 물론Thread
에는shutdown
과 유사한 메서드가 없습니다. 많은 프로그램에서는 계속 실행하려면 스레드가 필요하며 이때Thread
을 상속하고 캡슐화할 때 스레드 종료 메서드를 직접 구현해야 합니다.Java
에서main
을 반환하는 문제에 대해서는 아직은void
의C
이 비교적 오래된 프로그램이라 설명하기가 쉽지 않은 것 같아요. 사용자에게 알리기 위해 반환 값에 의존해야 합니다. 프로그램이 정상적으로 실행되는지 여부에 따라 달라지며main
에는 건전한 예외 메커니즘이 있고 프로그램이 콘솔을 직접 제어하지 않으므로 반환 값이 있더라도Java
프로그램이 아닌Java Runtime
에서 수행해야 합니다.Java