Java 多线程知识点总结(思维导图 + 源码笔记),已整理成 PDF 版文档
…..//
虽然在工作中未必会全部用得上,但如果项目真的用到了,我们如果学过了可能就可以很快地理解当时为什么要这样设计(我觉得去挖掘过程还是挺有意思的)。
「我可能不用,但你必须要有」
这个道理也很容易懂:「我买电脑的时候,虽然我是木耳听不出什么音质出来,但你音质就是得好」。企业招人的时候也一样「你在工作的时候未必要写,但你必须要会」
至少在我看来,从求职的角度出发,多线程是很重要的。之前我还整理过在我当时校招经常被问到的多线程面试题目:
多线程了解多少啊?使用多线程会有什么问题?你是怎么理解“线程安全”的?
如果我现在想要某个操作等待线程结束之后才执行,有什么方法可以实现?为什么要用 CountDownLatch?CountDownLatch 的底层是什么?(引出 AQS)
synchronized 关键字来说一下,它的用途是什么?synchronized 底层的原理是什么?
线程安全的容器有哪些?(着重于 ConcurrentHashMap、CopyWriteOnArrayList 与其他非线程安全容器的区别以及它们的具体实现)
ThreadLocal 你了解过吗?主要是用来干什么的?具体的源码实现原理来说一下吧
产生死锁的条件是什么?我们可以如何避免死锁?(可延伸到操作系统层面上的死锁)
synchronized 锁和 ReentrantLock 锁有什么区别呀?
线程池你应该也看过吧,来说说为什么要用线程池。JDK 默认实现了几个线程池,分别有 xxx(自然地 ThreadPoolExecutor 构造函数的常用几个参数你也得一起说出来)
…
转发+关注,然后私信回复关键字 “笔记” 即可获得《Java 多线程知识点总结》PDF 文档资料的免费领取方式!
一、什么是多线程
========
初识多线程
1.1 介绍进程
1.2 回到线程
1.3 进程与线程
1.4 并行与并发
1.5Java 实现多线程
1.6Java 实现多线程需要注意的细节
二、Thread 类解析
===========
Thread 线程类 API
1.2 守护线程
1.3 优先级线程
1.4 线程生命周期
三、使用多线程需要注意的问题
==============
1、使用多线程遇到的问题
2、对象的发布与逸出
3、解决多线程遇到的问题
4、多线程需要注意的事 -总结
四、synchronized 锁和 lock 锁
=====================
1、synchronized 锁
2、Lock 显式锁
3、Java 锁简单总结**
五、AQS
=====
1、AQS 是什么?
2、简单看看 AQS
六、ReentrantLock 和 ReentrantReadWriteLock
======================================
1、ReentrantLock 锁
2、ReentrantReadWriteLock
3、最后
七、线程池
=====
1、线程池简介
2、JDK 提供的线程池 API
3、ThreadPoolExecutor 详解
4、execute 执行方法
5、线程池关闭
八、死锁
====
1、死锁讲解
2、避免死锁的方法
3、死锁总结
九、线程常用的工具类
==========
1、CountDownLatch
2、CyclicBarrier
3、Semaphore
4、总结
十、Atomic
========
1、基础铺垫
2、原子变量类简单介绍
评论