【打怪升级】【万字长文】聊聊并发编程(前言)

发布时间 2023-11-27 17:42:12作者: 青柠_fisher
在之前无意中看到有群友关于:业务中尽量不要使用并发编程和线程池一文中,引发了几点思考:对于不熟悉并发编程的开发者,引入并发设计确实会导致意想不到的问题出现,增加了维护难度和周期;但是现实在某些设计场景中,我们无法避免这种设计,并发带来的好处显而易见。
今年再重温了几遍并发设计后,我想把现有的知识点总结起来,一方面是针对目前并发编程的积累,另一方面是我在各种资料中发现很多知识点描述的很片面,我之前的文章中也类似,只是针对某一个组件、某一个场景的解析,但这并不足以应对开发任务中各种问题。
  • 目录

  在并发编程中,我们往往会遇到以下问题:

  1. 我们很多业务就是基础的crud,是否意味着我可以不需要掌握这些技能也能很好的完成任务?
  2. jvm层面的并发处理优化已经做的很好,我们如何更加得心应手的使用它?
  3. 资源层面的并发,我们又改如何学习?

 

  (一)线程详解、线程与线程池

 

  后文主要会以这几点进行整理:

  • 在jdk中的并发,包括Lock、synchronized、多线程、锁、JMM模型、JUC模型、并发设计
  • 主流的中间件并发设计,如:Zookeeper、Redis、Rocket、Kafka等等...
  • 资源连接,NIO、Reactor、Netty...
  • spring生态对并发的应用,nacos、springcloud&alibaba、Nginx、sentinal、tomcat...
  • 基于一些基本网络、keepAlive以及部分jvm的知识

 

  我希望能用我自己的理解,将这部分知识串起来,编写时错误及不合理的地方请大佬及时指点,感谢!