⚠ Switch to EXCALIDRAW VIEW in the MORE OPTIONS menu of this document. ⚠

Text Elements

任务执行

串行执行

异步执行

线程池Executor框架

最开始串行执行

为了高效处理,
异步执行

异步线程较多
线程创建销毁消耗时间

  1. newFixedThreadPool
  2. newCachedThreadPool
  3. newSingleThreadPool
  4. newScheduledThreadPool

Executors
静态工厂创建线程池

ExecutorService

生命周期

含图片+文本的网页请求

渲染文本下载并渲染图像

Callable+Future 每个图像一个线程去下载数据
渲染文本 渲染图像

CompletionService 每个图像一个线程去下载数据
渲染文本 渲染图像

轮询所有下载结果,有结果先处理

一次获得所有图像,再处理

Callable+Future 每个图像一个线程去下载数据
渲染文本 渲染图像

内置队列,将执行完的Future放到队列中,
避免了轮询操作

单个时限
Future - get 异常

多个时限
ExecutorService 的 invokeAll