⚠ Switch to EXCALIDRAW VIEW in the MORE OPTIONS menu of this document. ⚠
Text Elements
任务执行
串行执行
异步执行
线程池Executor框架
最开始串行执行
为了高效处理,
异步执行
异步线程较多
线程创建销毁消耗时间
- newFixedThreadPool
- newCachedThreadPool
- newSingleThreadPool
- newScheduledThreadPool
Executors
静态工厂创建线程池
ExecutorService
生命周期
含图片+文本的网页请求
渲染文本→下载并渲染图像
Callable+Future 每个图像一个线程去下载数据
→ 渲染文本 → 渲染图像
CompletionService 每个图像一个线程去下载数据
→ 渲染文本 → 渲染图像
轮询所有下载结果,有结果先处理
一次获得所有图像,再处理
Callable+Future 每个图像一个线程去下载数据
→ 渲染文本 → 渲染图像
内置队列,将执行完的Future放到队列中,
避免了轮询操作
单个时限
Future - get 异常
多个时限
ExecutorService 的 invokeAll