Executor接口

void execute(Runnable command)//用于提交command任务

ExecutorService接口

继承了Executor接口

//设置线程的状态,还没执行的线程会被中断
void shutdown();
//设置线程的状态,尝试停止正在进行的线程
List<Runnable> shutdownNow();
//当调用shutdown()或shutdownNow()方法后返回为true
boolean isShutdown();
//当调用shutdown()方法后,并且所有提交的任务完成后返回为true
//当调用shutdownNow()方法后,成功停止后返回为true;
boolean isTerminated();
//当前线程阻塞,直到线程执行完、时间到、被中断
boolean awaitTermination(long timeout, TimeUnit unit)
    throws InterruptedException;
//提交一个Callable任务
<T> Future<T> submit(Callable<T> task);
//提交一个Runnable任务,因为Runnable没有返回指,所以第二个参数是用来返回值
<T> Future<T> submit(Runnable task, T result);
//提交一个Runnable任务
Future<?> submit(Runnable task);
//执行所有任务
<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;
//有一个任务结束就可以返回
<T> T invokeAny(Collection<? extends Callable<T>> tasks,
                long timeout, TimeUnit unit)
    throws InterruptedException, ExecutionException, TimeoutException;
//有一个任务结束就可以返回,有过期时间
<T> T invokeAny(Collection<? extends Callable<T>> tasks,
                    long timeout, TimeUnit unit)
        throws InterruptedException, ExecutionException, TimeoutException;

大军
847 声望183 粉丝

学而不思则罔,思而不学则殆