A股上市公司传智教育(股票代码 003032)旗下技术交流社区北京昌平校区

 找回密码
 加入黑马

QQ登录

只需一步,快速开始

© luofeng 中级黑马   /  2014-9-25 17:44  /  1290 人查看  /  5 人回复  /   0 人收藏 转载请遵从CC协议 禁止商业使用本文

用ExecutorService pool = Executors.newSingleThreadExecutor();来创建线程池,
可是查API文档却显示ExecutorService是一个接口,而且我也找不到所说的execute方法,
是怎么回事,线程池到底要怎么用?

5 个回复

倒序浏览
ExecutorService的父接口是Executor接口.
Executor接口中有方法execute()

.......要看文档啊!
最好直接看源码.

可以直接把源码和文档当装在eclipse中. 用起来很方便.

奇怪的一点, 视频居然没有教大家怎么把文档和源码安装到eclipse中.


点评

基础视频没用到eclipse,所以没讲。jdk文档和源码不需要另外安装,eclipse识别jre后就可以查看了  发表于 2014-9-25 20:30
回复 使用道具 举报
caixingke 发表于 2014-9-25 20:11
ExecutorService的父接口是Executor接口.
Executor接口中有方法execute()

ExecutorService pool是怎么回事,ExecutorService不是接口吗,怎么可以实例化对象?
回复 使用道具 举报
本帖最后由 caixingke 于 2014-9-25 23:35 编辑
luofeng 发表于 2014-9-25 23:22
ExecutorService pool是怎么回事,ExecutorService不是接口吗,怎么可以实例化对象? ...
实例化是必然会调用到构造函数的.ExecutorService是接口, 没有构造函数, 所以是不能实例化的.

接口A没有构造函数, 所以不能实例化.
但如果一个类B实了现接口A, 那么是可以这样的:
接口A  a = new 类B();
明白了吗?

如下:
ExecutorService pool = Executors.newScheduledThreadPool(5);
这行代码里的方法 newScheduledThreadPool(int)的内部中会去调用[实现了ExecutorService接口的类]的构造函数.
回复 使用道具 举报
caixingke 发表于 2014-9-25 23:33
实例化是必然会调用到构造函数的.ExecutorService是接口, 没有构造函数, 所以是不能实例化的.

接口A没有构 ...

懂了,谢谢。
回复 使用道具 举报
您需要登录后才可以回帖 登录 | 加入黑马