ExecutorService&Executor接口源码

interface java.util.concurrent.Executor接口

Executor接口只有一个方法

void execute(Runnable command); 传入参数为一个实现了Runnable接口的类
interface java.util.concurrent.ExecutorService extends Executor

ExecutorService接口继承自Executor接口,除execute方法外,还有其他方法

1.  awaitTermination方法,阻塞直到全部线程执行完任务,或者超时
    boolean awaitTermination(long timeout, TimeUnit unit)
        throws InterruptedException;
2.  invokeAll执行给定的任务,当所有任务均完成后,返回一个保存有Future状态和期望结果的list。
完成任务可能正常结束或者抛出异常,但执行期间若给定的集合被修改,则该方法的结果不确定
    <T> List<Future<T>> invokeAll(Collection<? extends Callable<T>> tasks)
        throws InterruptedException;

    <T> List<Future<T>> invokeAll(Collection<? extends Callable<T>> tasks,
                                  long timeout, TimeUnit unit)
        throws InterruptedException;

3.  invokeAny方法,执行给定的任务,如果某个任务已成功完成(也就是未抛出异常),则返回其结果  
    <T> T invokeAny(Collection<? extends Callable<T>> tasks)
        throws InterruptedException, ExecutionException;

    <T> T invokeAny(Collection<? extends Callable<T>> tasks,
                    long timeout, TimeUnit unit)
        throws InterruptedException, ExecutionException, TimeoutException;
4.  boolean isShutdown(); 线程池是否关闭
5.  boolean isTerminated(); 如果关闭后所有任务均正常完成,则返回true
6.  void shutdown();    //关闭线程池,不接受新任务,等待所有执行任务完成
    List<Runnable> shutdownNow();   //立刻关闭,返回等待执行的任务列表
7.  Future<?> submit(Runnable task);  提交一个 Runnable 任务用于执行,并返回一个表示该任务的Future

    <T> Future<T> submit(Runnable task, T result); 提交一个Runnable任
务用于执行,并返回一个表示该任务的Futureresult表示要返回的结果

    <T> Future<T> submit(Callable<T> task); 提交一个返回值的任务用于执行,返回一
个表示任务的未决结果的 Future
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值