写点什么

蘑菇街大牛熬夜整理的 Java 多线程知识点总结(思维导图 + 源码笔记

用户头像
极客good
关注
发布于: 刚刚

如果我们不懂多线程知识,很直接的一个现实:



从开头的思维导图里我们可以发现多线程的知识点还是很多的,我们起码得知道:


  • 线程和进程的区别

  • Thead 类的常见方法

  • 可以用什么手段来解决线程安全性问题

  • Synchronized 和 Lock 锁的区别

  • 什么是 AQS、ReentrantLock 和 ReentrantReadWriteLock 锁

  • JDK 自带的线程池有哪几个,线程池的构造方法重要的参数

  • 什么是死锁,怎么避免死锁

  • CountDownLatch、CyclicBarrier、Semaphore 是什么?

  • Atomic 包下的常见子类,什么是 CA


【一线大厂Java面试题解析+核心总结学习笔记+最新架构讲解视频+实战项目源码讲义】
浏览器打开:qq.cn.hn/FTf 免费领取
复制代码


S,CAS 会有什么问题


  • ThreadLocal 是什么?

  • …..//


虽然在工作中未必会全部用得上,但如果项目真的用到了,我们如果学过了可能就可以很快地理解当时为什么要这样设计(我觉得去挖掘过程还是挺有意思的)。


我可能不用,但你必须要有


这个道理也很容易懂:「我买电脑的时候,虽然我是木耳听不出什么音质出来,但你音质就是得好」。企业招人的时候也一样「你在工作的时候未必要写,但你必须要会


至少在我看来,从求职的角度出发,多线程是很重要的。之前我还整理过在我当时校招经常被问到的多线程面试题目:


  1. 多线程了解多少啊?使用多线程会有什么问题?你是怎么理解“线程安全”的?

  2. 如果我现在想要某个操作等待线程结束之后才执行,有什么方法可以实现?为什么要用 CountDownLatch?CountDownLatch 的底层是什么?(引出 AQS)

  3. synchronized 关键字来说一下,它的用途是什么?synchronized 底层的原理是什么?

  4. 线程安全的容器有哪些?(着重于 ConcurrentHashMap、CopyWriteOnArrayList 与其他非线程安全容器的区别以及它们的具体实现)

  5. ThreadLocal 你了解过吗?主要是用来干什么的?具体的源码实现原理来说一下吧

  6. 产生死锁的条件是什么?我们可以如何避免死锁?(可延伸到操作系统层面上的死锁)

  7. synchronized 锁和 ReentrantLock 锁有什么区别呀?

  8. 线程池你应该也看过吧,来说说为什么要用线程池。JDK 默认实现了几个线程池,分别有 xxx(自然地 ThreadPoolExecutor 构造函数的常用几个参数你也得一起说出来)


转发+关注,然后添加 VX(tkzl6666) 即可获得《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、最后



[](


)七、线程池


=================================================================

用户头像

极客good

关注

还未添加个人签名 2021.03.18 加入

还未添加个人简介

评论

发布
暂无评论
蘑菇街大牛熬夜整理的Java多线程知识点总结(思维导图+源码笔记