java并发编程学习之线程池-Executor和ExecutorService(一)

Executor接口

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

ExecutorService接口

继承了Executor接口

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

你可能感兴趣的:(java,线程池,源码分析)