蘑菇街Java大牛纯手打肛出的一份多线程文档,请别丢进收藏夹吃灰
作者:互联网
前言
这个【多线程】的文档是全程手打肛出来的,共129页,希望各位老铁可以转发本文支持一下!
完整版多线程文档资料领取方式:加我VX【tkzl6666】获得免费领取方式。领取之后可别丢进收藏夹吃灰喔!
内容介绍
一、什么是多线程
1.初识多线程
1.1介绍进程
1.2回到线程
1.3进程与线程
1.4并行与并发
1.5Java实现多线程
1.5.1继承Thread,重写run方法
1.5.2实现Runnable接口,重写run方法
1.6Java实现多线程需要注意的细节
二、Thread类解析
1.Thread线程类API
1.1设置线程名
1.2守护线程
1.3优先级线程
1.4线程生命周期
1.4.1sleep方法
1.4.2yield方法
1.4.3join方法
1.4.3interrupt方法
三、使用多线程需要注意的问题
1、使用多线程遇到的问题
1.1线程安全问题
1.3性能问题
2、对象的发布与逸出
2.1安全发布对象
3、解决多线程遇到的问题
3.1简述解决线程安全性的办法
3.2原子性和可见性
3.2.1原子性
3.2.2可见性
3.3线程封闭
3.4不变性
3.5线程安全性委托
4、多线程需要注意的事 -总结
四、synchronized锁和lock锁
1、synchronized锁
1.1synchronized锁是什么?
1.2synchronized用处是什么?
1.3synchronized的原理
1.4synchronized如何使用
1.4.1修饰普通方法法:
1.4.2修饰代码块:
1.4.3修饰静态方法
1.4.4类锁与对象锁
1.5重入锁
1.6释放锁的时机
2、Lock显式锁
2.1Lock显式锁简单介绍
2.2synchronized锁和Lock锁使⽤哪个
2.3公平锁
3、Java锁简单总结
五、AQS
1、AQS是什么?
2、简单看看AQS
2.1同步状态
2.2先进先出队列
2.3acquire方法
2.4release方法
六、ReentrantLock和ReentrantReadWriteLock
完整版多线程文档资料领取方式:加我VX【tkzl6666】获得免费领取方式。领取之后可别丢进收藏夹吃灰喔!
1、ReentrantLock锁
1.1内部类
1.2构造方法
1.3非公平lock方法
1.4公平lock方法
1.5unlock方法
2、ReentrantReadWriteLock
2.1ReentrantReadWriteLock内部类
2.2读锁和写锁的状态表示
2.3写锁的获取
2.4读锁获取
3、最后
七、线程池
1、线程池简介
2、JDK提供的线程池API
2.1ForkJoinPool线程池
2.2补充:Callable和Future
3、ThreadPoolExecutor详解
3.1内部状态
3.2已默认实现的池
3.2.1newFixedThreadPool
3.2.2newCachedThreadPool
3.2.3SingleThreadExecutor
3.3构造方法
4、execute执行方法
5、线程池关闭
八、死锁
1、死锁讲解
1.1锁顺序死锁
1.2动态锁顺序死锁
1.3协作对象之间发生死锁
2、避免死锁的方法
2.1固定锁顺序避免死锁
2.2开放调用避免死锁
2.3使用定时锁
2.4死锁检测
3、死锁总结
九、线程常用的工具类
1、CountDownLatch
1.1CountDownLatch简介
1.2CountDownLatch例子
2、CyclicBarrier
2.1CyclicBarrier简介
2.2CyclicBarrier例子
3、Semaphore
3.1Semaphore简介
3.2Semaphore例子
4、总结
十、Atomic
1、基础铺垫
1.2CAS再来看看
1.2.1CAS失败重试(⾃旋)
1.2.2CAS失败什么都不做
2、原子变量类简单介绍
2.1原子变量类使用
2.2ABA问题
2.3解决ABA问题
2.4LongAdder性能比AtomicLong要好
十一、ThreadLocal
1、什么是ThreadLocal
2、为什么要学习ThreadLocal?
2.1管理Connection
2.2避免一些参数传递
3、ThreadLocal实现的原理
3.1ThreadLocal原理总结
4、避免内存泄露
5、总结
完整版多线程文档资料领取方式:加我VX【tkzl6666】获得免费领取方式。领取之后可别丢进收藏夹吃灰喔!
标签:1.4,1.2,死锁,线程,2.2,多线程,收藏夹,丢进 来源: https://blog.51cto.com/14480698/2487850