Java 中 Executor 和 ExecutorServices 的区别

javaserver side programmingprogramming

Executor 和 ExecutorServices 这两个接口都是 Executor 框架的一部分。它随 Java 5 发布。

在 Java 中,线程创建是一项非常昂贵的操作,因此我们应该重用可用线程,而不是每次都启动一个新线程,我们可以使用 Executor 框架实现相同的目的。

Executor 框架使用线程池并行执行任务,这有​​助于优化响应时间和资源利用率。它提供了四种类型的内置线程池 −

  • 固定线程池
  • 缓存线程池
  • 调度线程池
  • 单线程执行器
Sr.编号关键ExecutorExecutorServices
1
基本
它是一个父接口
它扩展了 Executor 接口
2
方法
它有 execute() 方法
它有 submit() 方法
3
返回类型
它不返回任何东西。
它返回未来对象。
4.
Runnable /Callable
它接受 Runnable 对象。
它同时接受 Runnable 和 Callable

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");
   }
}

Executor 示例

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");
   }
}

相关文章