博客
关于我
强烈建议你试试无所不能的chatGPT,快点击我
Executor , ExecutorService 和 Executors
阅读量:7219 次
发布时间:2019-06-29

本文共 690 字,大约阅读时间需要 2 分钟。

三者的主要区别和关系如下:

  • Executor 和 ExecutorService 这两个接口主要的区别是:ExecutorService 接口继承了 Executor 接口,是 Executor 的子接口
  • Executor 和 ExecutorService 第二个区别是:Executor 接口定义了 execute()方法用来接收一个Runnable接口的对象,而 ExecutorService 接口中的 submit()方法可以接受Runnable和Callable接口的对象。
  • Executor 和 ExecutorService 接口第三个区别是 Executor 中的 execute() 方法不返回任何结果,而 ExecutorService 中的 submit()方法可以通过一个 Future 对象返回运算结果。
  • Executor 和 ExecutorService 接口第四个区别是除了允许客户端提交一个任务,ExecutorService 还提供用来控制线程池的方法。比如:调用 shutDown() 方法终止线程池。
  • Executors 类提供工厂方法用来创建不同类型的线程池。比如: newSingleThreadExecutor() 创建一个只有一个线程的线程池,newFixedThreadPool(int numOfThreads)来创建固定线程数的线程池,newCachedThreadPool()可以根据需要创建新的线程,但如果已有线程是空闲的会重用已有线程。

        

总结

下表列出了 Executor 和 ExecutorService 的区别:

 

转载地址:http://ylqym.baihongyu.com/

你可能感兴趣的文章
在 CentOS上安装配置 Ganglia-3.4.0
查看>>
linux 打包和压缩的概念和区别
查看>>
C++ 模版整理
查看>>
NOIP 2012 提高组第一试模拟赛 魔法树 Solution
查看>>
HTML设置焦点
查看>>
团队进展报告(4)
查看>>
mysql c api 编程(一)
查看>>
【原创】MySQL和PostgreSQL 导入数据对比
查看>>
Linux awk: print中存在变量的情况
查看>>
Exchange2010安装配置篇三 证书服务
查看>>
JavaScript数据结构-栈
查看>>
Oracle 查询结果去重保留一项
查看>>
Gradle-jar-aar
查看>>
PowerShell 如何 远程连接
查看>>
当信息安全遇上应用交付
查看>>
“中国经济脱轨论”是小人之言
查看>>
WinCE6.0 Camera驱动整体结构
查看>>
【QTP】截图操作
查看>>
[stonith.8] Error 5 [ha_logger.1] Error 5
查看>>
C++任意类型转换模板
查看>>