【多线程】Java并发线程综述

前言

兄弟姐妹们,又是新的一周,很开心今天博客总阅读量超过400,看看今年能不能突破1000的阅读量,废话不多说,开始今天的内容。
最近看了几本书《Java并发编程的艺术》、《Java并发编程实战》,感觉学到了很多的东西,但是同时脑子糊糊的,很难把这些知识串联起来,我相信很多同学都是一样的感觉,今天特定缕了一缕思路,搞出了个思维导图,供大家学习交流思考。
同时推荐大佬的系列博客,链接。
看完这些博客之后,再去看看上面的书籍,我相信收获会很大的。

思维导图

按照惯例,放出一个自己写的思维导图,其实建议大家自己画一个,这些才能把这些知识给串联起来。
在这里插入图片描述
我们先从常见的面试题入手,啊什么是线程?啊线程间通信的方式?啊线程池中队列满了之后是如何处理的?啊为什么需要双重检查?等等我们发现感觉知识点都是毫无头绪的,其实都是有联系的。我们来看看上面的思维导图,分点说明。

  • 线程基础
    哦,这里不就是对于线程的基本理解吗。Java中Thread相关的API。
    还有线程间通信方式,如果是共享变量,那么我们可以用volatile,如果是消息通知的话,我们可以使用Object带有的wait()notify()方式,当然还可以利用JUC并发包等。
  • JMM
    要深入理解Java多线程编程,我觉得首先深入理解JMM,也就是Java内存模型。这个我们可以通过i++的例子,或者是设计模式中的单例模式来串在一起。
  • JUC
    从JDK1.5开始,Java就提供了很多帮助多线程开发的工具类,包括我们常用的线程池、原子类等等。

  • 讲锁的话,我们从最古老的Java关键词synchronized讲起,你不得知道这个关键词的用法?底层原理是怎么实现的?是用JVM底层指令实现的吗?那和用JUC并发包的Lock有啥区别呢?那回到了JUC并发包的使用。
    那同时,还有各种各样的锁,什么读写锁、什么公平锁、什么悲观乐观锁,是吧。
  • 项目使用
    上面讲了这么的东西,深入底层的JVM也讲了,那么我们实际项目该如何使用呢?
    SpringBoot如何结合线程池使用呢?启动多线程的方式?

接下来从上面的思维导图慢慢更新博客,欢迎大家讨论!

参考资料

书籍:《Java并发编程的艺术》、《Java并发编程实战》
博客:
大佬多线程系列文章
线程间通信的用法

  • 0
    点赞
  • 0
    收藏
    觉得还不错? 一键收藏
  • 0
    评论

“相关推荐”对你有帮助么?

  • 非常没帮助
  • 没帮助
  • 一般
  • 有帮助
  • 非常有帮助
提交
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值