JUC·Executor框架

前言

多线程和并发这两个东西真的是向往已久,总是有一种神秘的感觉,想去探索一波,又担心水平不够无法驾驭。想以读书笔记的方式来写,但是又觉得缺少自己的一些思考;但是在没有足够并发编程经验的情况下又没法去写出很深刻的东西,毕竟没有踩过坑。所以在阅读spring源码的同时,也想抽点时间来看一看JUC的东西,关于这块只能说是记录自己学习JUC的一个过程,尝试用一些具体的代码demo来加深理解。所以就把本系列写成《【 初识】-JUC·XXXX》,用来让自己打开并发编程的大门。

JUC

JUC各个模块的类

整体框架

atomic

locks

并发集合

并发工具

forkJoin

fork-join在JUC中有下面三个类:

Future

Future提供了可以获取异步执行结果的方法,区别于Runnable的run方法,run是不提供返回结果的。

Callable

声明了一个名称为call()的方法,同时这个方法可以有返回值V,也可以抛出异常

关于Callable和Future的使用一般情况下都是结合我们的线程池来使用的。

Executor

Executor接口是线程池实现的顶级接口,其和spring中的BeanFactory所承担的角色差不多,就是提供顶级的功能约束,具体实现交于不同子类来完成。

下面是JUC中Executor框架的整体结构:

ExecutorService

ExecutorService 再Executor接口的基础上扩展了对线程池状态的控制以及提交任务执行的超时控制。线程池的基本功能还不够完善,不能真正的具备处理具体业务的能力(毕竟是个接口,O(∩_∩)O哈哈~)。

开个篇,慢慢学~

  • 发表于:
  • 原文链接http://kuaibao.qq.com/s/20180207A09C4900?refer=cp_1026
  • 腾讯「云+社区」是腾讯内容开放平台帐号(企鹅号)传播渠道之一,根据《腾讯内容开放平台服务协议》转载发布内容。

扫码关注云+社区

领取腾讯云代金券