Excutor的例子中的
ArrayDeque 双端队列
Executor 接口
Executors 创建线程池的工厂方法
- 创建ExecutorService方法
- 创建ScheduledExecutorService的方法
- 创建ThreadFactory的方法
- 创建并返回非闭包形式的Callable的方法
ThreadPoolExecutor 线程池
解决两个不同问题:执行大量异步任务时提供增强的性能,还可以绑定和管理资源(包括执行任务集时使用的线程)的方法。每个线程还维护着一些统计数据,如完成的任务数。
线程池常用的提交任务方法:
- execute
ExecutorService.execute(Runnable runable);
- submit
FutureTask task = ExecutorService.submit(Runnable runnable); FutureTask<T> task = ExecutorService.submit(Runnable runnable,T Result); FutureTask<T> task = ExecutorService.submit(Callable<T> callable);
submit有返回结果,返回一个FutureTask对象,通过get()方法得到结果。
Woker类控制线程复用