이 기사의 예는 Java에서 Executor Interface의 사용을 알려줍니다. 참조를 위해 모든 사람을 위해 공유하십시오. 세부 사항은 다음과 같습니다.
1. Java의 집행자 인터페이스의 정의
공개 인터페이스 executor {void execute (runnable commit);}
2. 집행 업체 아래 정적 공장 방법에 의해 스레드 풀을 만듭니다.
A) NewFixedThreadpool : 긴 스레드 풀을 만듭니다. 최대 스레드 수에 도달하면 스레드 수가 더 이상 증가하지 않습니다.
예상치 못한 예외로 인해 스레드가 종료되면 스레드 풀이 새 스레드를 보충합니다.
b) NewCachedHreadpool : 캐시 가능한 스레드 풀을 만듭니다. 풀의 길이가 처리 요구 사항을 초과하면 유휴 스레드를 복구 할 수 있습니다.
c) NewsingLethreadpool : 단일 스레드 집행자를 만듭니다.
d) NewsCheduledHreadPool : 장기 스레드 풀을 만들고 시간 -기간 및주기적인 작업 실행을 지원합니다.
타이머와 비슷합니다. 그러나 타이머는 절대 시간을 기준으로하는데, 이는 시스템 시계의 변화에 민감한 반면, ScheduledThreadPooleExecutor는 상대 시간 만 지원합니다.
3. 타이머 클래스의 응용 프로그램 요약을 비교하십시오
1) 타이머는 모든 타이머 작업을 수행하는 유일한 스레드입니다. 작업이 시간이 오래 걸리면 다른 타이머스크 시간이 정확하게 문제를 일으킬 수 있습니다.
2) Timrtask가 점검되지 않은 이상을 던지면 타이머는 예측할 수없는 동작을 갖습니다. 따라서 ScheduledHreadPooleExecutor는 타이머를 완전히 대체 할 수 있습니다.
3) 실행 서비스의 수명주기를 해결하기 위해 ExecutorService 인터페이스는 Executor를 확장합니다. 스레드 풀에는 3 개의 상태가 포함됩니다 : 실행, 종료, 종료.
4. 전화 가능하고 미래
Runnable은 값을 반환하지 않고 점검 된 이상에서 버릴 수 없기 때문에 Callable은 더 나은 추상화입니다. (Callable <void>는 반환 값이없는 작업을 나타냅니다).
Future는 작업의 수명주기를 설명하고 작업 결과를 얻고 작업을 취소하고 작업을 완료하거나 취소하는 작업을 확인하는 관련 방법을 제공합니다.
5.compltingService는 Executor 및 Blockingqueue의 기능을 통합합니다.
테이크와 여론 조사는 작업 완료를 차단할 수 있습니다.
이 기사는 모든 사람의 Java 프로그램 설계에 도움이되기를 바랍니다.