前言
多线程和并发这两个东西真的是向往已久,总是有一种神秘的感觉,想去探索一波,又担心水平不够无法驾驭。想以读书笔记的方式来写,但是又觉得缺少自己的一些思考;但是在没有足够并发编程经验的情况下又没法去写出很深刻的东西,毕竟没有踩过坑。所以在阅读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哈哈~)。
开个篇,慢慢学~
领取专属 10元无门槛券
私享最新 技术干货