进程和线程的提出极大的提高了操作提供的性能。进程让操作系统的并发性成为了可能,而线程让进程的内部并发成为了可能。
多进程的方式也可以实现并发,为什么我们要使用多线程?
多进程方式确实可以实现并发,但使用多线程,有以下几个好处:
- 进程间的通信比较复杂,而线程间的通信比较简单,通常情况下,我们需要使用共享资源,这些资源在线程间的通信比较容易。
- 进程是重量级的,而线程是轻量级的,故多线程方式的系统开销更小。
由此可见多线程的学习对程序员来说是至关重要的,这也是为什么不论是大大小小的公司面试官都会问到的问题。金九银十即将来临,我特意花了时间搜集了一些相关的资料整理出了这份“Java多线程核心笔记”,我把多线程分为十一个模块进行解读。让我们来看看文档的内容
初识多线程
- 介绍进程
- 回到线程
- 进程与线程
- 并行与并发
- Javs实现多线程
- Java实现多线程需要注意的细节
![](https://i-blog.csdnimg.cn/blog_migrate/3e6aaa9668fa2e81d8280f34a990091a.png)
Thread线程类API
设置线程名
守护线程
优先级线程
线程生命周期
![](https://i-blog.csdnimg.cn/blog_migrate/d248689e27ddbb0ee37db9cb84667aef.png)
使用多线程需要注意的问题
- 线程安全问题
- 性能问题
- 安全发布对象
- 简述解决线程安全性的办法
- 原子性和可见性
- 线程封闭
- 不变性
- 线程安全性委托
![](https://i-blog.csdnimg.cn/blog_migrate/cec133928f96c0de1bbf31e35d4e5e14.png)
synchronized锁和lock锁
- synchronized锁
- Lock显式锁
- Java锁简单总结
![](https://i-blog.csdnimg.cn/blog_migrate/362e9ecb6dab1104f18d0302d4f161b3.png)
AQS
- AQS是什么?
- 同步状态
- 先进先出队列
- sacquire方法
- release方法
![](https://i-blog.csdnimg.cn/blog_migrate/9ebc569e31ef448f2833a2f73793f92e.png)
ReentrantLock
- 内部类
- 构造方法
- 非公平lock方法
- 公平lock方法
- unlock方法
![](https://i-blog.csdnimg.cn/blog_migrate/0ded04523418589355147b3b2f665862.png)
ReentrantReadWriteLock
- ReentrantReadWriteLock内部类
- 读锁和写锁的状态表示
- 写锁的获取
- 读锁获职
![](https://i-blog.csdnimg.cn/blog_migrate/737ce47b616bcf78e474df04e9f9a7f8.png)
线程池
- 线程池简介
- JDK提供的线程池API
- ForkJoinPool线程池
- Callable和Future
- ThreadPoolExecutor详解
- execute执行方法
- 线程池关闭
![](https://i-blog.csdnimg.cn/blog_migrate/2d51a75780d03f5bf5f28e6d1485b40f.png)
死锁
- 锁顺序死锁
- 动态锁顺序死锁
- 协作对象之间发生死锁
- 固定锁顺序避免死锁
- 开放调用避免死锁
- 使用定时锁
- 死锁检测
![](https://i-blog.csdnimg.cn/blog_migrate/68532cef993edb0cc5fcdc943f31526c.png)
线程常用的工具类
- CountDownLatch
- CyclicBarrier
- Semaphore
![](https://i-blog.csdnimg.cn/blog_migrate/557e496667eba521014fc0e67e608d2a.png)
Atomic
- 基础铺垫
- CAS失败重试(自旋)
- 原子变量类简单介绍
- LongAdder、AtomicLong性能对比
![](https://i-blog.csdnimg.cn/blog_migrate/072515fb84567bde13b14f64c6b22826.png)
ThreadLocal
- 什么是ThreadLocal
- 为什么要学习ThreadLocal?
- ThreadLocal底层原理总结
- 避免内存泄露
![](https://i-blog.csdnimg.cn/blog_migrate/e0e7d5cb6bb700e010329f8d7c01aa62.png)
领取方式
快速入手通道:(点这里)下载!诚意满满!!!
Java面试精选题、架构实战文档传送门:https://docs.qq.com/doc/DRW1nUkdhZG5zeGVi
整理不易,觉得有帮助的朋友可以帮忙点赞分享支持一下小编~
你的支持,我的动力;祝各位前程似锦,offer不断!!!