Computer >> 컴퓨터 >  >> 프로그램 작성 >> Java

Java에서 Executor와 ExecutorServices의 차이점

<시간/>

Executor 및 ExecutorServices 두 인터페이스는 모두 Executor 프레임워크의 일부입니다. Java 5와 함께 출시되었습니다.

Java에서 스레드 생성은 매우 비용이 많이 드는 작업이므로 매번 새 스레드를 시작하는 대신 사용 가능한 스레드를 재사용해야 하며 Executor 프레임워크를 사용하여 동일한 작업을 수행할 수 있습니다.

Executor 프레임워크는 스레드 풀을 사용하여 응답 시간과 리소스 활용을 최적화하는 데 도움이 되는 병렬 작업을 실행합니다. 4가지 유형의 내장 스레드 풀을 제공합니다. -

  • 고정 스레드 풀
  • 캐시된 스레드 풀
  • 예약된 스레드 풀
  • 단일 스레드 실행기
Sr. 아니요. 실행자 실행 서비스
1
기본
상위 인터페이스입니다.
Executor 인터페이스를 확장합니다.
2
방법
execute() 메서드가 있습니다.
제출() 메소드가 있습니다.
3
반환 유형
아무것도 반환하지 않습니다.
미래의 객체를 반환합니다.
4.
실행 가능/호출 가능
실행 가능한 개체를 허용합니다.
실행 가능 및 호출 가능 모두 허용

ExecutorService의 예

public class Main {
   public static void main(String args[]) {
      ExecutorService services = Executors.newSingleThreadExecutor();
      Future<?> future = services.submit(new Task());
   }
}
public class Task implements Runnable {
   @Override
   public void run() {
      System.out.println("In Run");
   }
}

실행자의 예

public class Main {
   public static void main(String args[]) {
      Executor executor = Executors.newSingleThreadExecutor();
      executor.execute(new Task());
   }
}
public class Task implements Runnable {
   @Override
   public void run() {
      System.out.println("In Run");
   }
}