java中,分别使用 Thread 与 Executor执行任务,为什么前者不需要显式的退出,而后者需要shutdown ?
高洛峰
高洛峰 2017-04-17 17:38:36
0
1
385
  1. 如果不适用shutdown ,使用 executor执行任务时,就不能退出,也就不能键入控制台命令?线程与控制台之间有什么关系?

  2. 另由 控制台 返回,想到 java 的main ( ) 函数由于void,不需要写return 语句, 而 C 语言 main ( ) 函数由于 为int ,需要使用return ()? java 为什么可以这样设置,是出于什么样的机制?

高洛峰
高洛峰

拥有18年软件开发和IT教学经验。曾任多家上市公司技术总监、架构师、项目经理、高级软件工程师等职务。 网络人气名人讲师,...

모든 응답(1)
伊谢尔伦

ThreadExecutor는 비교할 수 없습니다. Thread은 프로그램의 실제 스레드를 나타내는 Java에 속하는 기본 구조이고, run 메서드는 스레드 실행 프로세스입니다. ExecutorThread에 캡슐화되어 있으며 스레드 풀 및 스레드 재사용 개념을 도입하여 운영 효율성을 높이고 리소스를 절약합니다. Executor은 스레드의 연속 실행을 제어합니다. 간단히 말해서 Threadrun 메서드에는 무한 루프 while(true) {}가 있으므로 Executor가 보유한 Thread는 계속 실행되고 멈추지 않습니다. shutdown 메소드를 사용하면 Executor가 하위 Thread에게 루프에서 벗어나 스레드를 중지하도록 지시할 수 있습니다. 물론 Thread에는 shutdown과 유사한 메서드가 없습니다. 많은 프로그램에서는 계속 실행하려면 스레드가 필요하며 이때 Thread을 상속하고 캡슐화할 때 스레드 종료 메서드를 직접 구현해야 합니다.

Java에서 main을 반환하는 문제에 대해서는 아직은 voidC이 비교적 오래된 프로그램이라 설명하기가 쉽지 않은 것 같아요. 사용자에게 알리기 위해 반환 값에 의존해야 합니다. 프로그램이 정상적으로 실행되는지 여부에 따라 달라지며 main에는 건전한 예외 메커니즘이 있고 프로그램이 콘솔을 직접 제어하지 않으므로 반환 값이 있더라도 Java 프로그램이 아닌 Java Runtime에서 수행해야 합니다. Java

최신 다운로드
더>
웹 효과
웹사이트 소스 코드
웹사이트 자료
프론트엔드 템플릿
회사 소개 부인 성명 Sitemap
PHP 중국어 웹사이트:공공복지 온라인 PHP 교육,PHP 학습자의 빠른 성장을 도와주세요!