Java 并发编程之美:线程相关的基础知识

作者/分享人:追梦
向 Ta 提问
追梦,某大型互联网公司高级Java开发工程师,并发编程网编辑;热衷并发编程,微服务架构设计,中间件基础设施

借用 Java 并发编程实践中的话;编写正确的程序并不容易,而编写正常的并发程序就更难了;相比于顺序执行的情况,多线程的线程安全问题是微妙而且出乎意料的,因为在没有进行适当同步的情况下多线程中各个操作的顺序是不可预期的。

并发编程相比 Java 中其他知识点学习起来门槛相对较高,学习起来比较费劲,从而导致很多人望而却步;而无论是职场面试和高并发高流量的系统的实现却都还离不开并发编程,从而导致能够真正掌握并发编程的人才成为市场比较迫切需求的。

本 Chat 作为 Java 并发编程之美系列的开篇,首先通过通俗易懂的方式先来和大家聊聊多线程并发编程线程有关基础知识(本文结合示例进行讲解,定会让你耳目一新^-^),具体内容如下:

  • 什么是线程?线程和进程的关系。
  • 线程创建与运行。创建一个线程有那几种方式?有何区别?
  • 线程通知与等待,多线程同步的基础设施。
  • 线程的虚假唤醒,以及如何避免。
  • 等待线程执行终止的 join 方法。想让主线程在子线程执行完毕后在做一点事情?
  • 让线程睡眠的 sleep 方法,sleep的线程会释放持有的锁?
  • 线程中断。中断一个线程,被中断的线程会自己终止?
  • 理解线程上下文切换。线程多了一定好?
  • 线程死锁,以及如何避免。
  • 守护线程与用户线程。当main函数执行完毕,但是还有用户线程存在的时候,JVM进程会退出?
已有673人预订
预订达标
文章出炉
     
03月13日
03月27日
本场 Chat 文章已出炉,购买后即可阅读文章并获得一张追梦的读者圈Pass
请务必添加GitChat服务号以查看活动进度及获取活动通知。
查看文章评论/提问
S。
👍🏻👍🏻👍🏻
追梦: 😄
Volong
对 "void wait() 方法" 进行介绍时,最后一个示例是不是说错,报错应该是没有获取到监视器的原因
追梦: 漏了synchronized块,应该在调用obj.wait()外层加上synchronized块,感谢指正。
Volong
join 方法不是静态的
追梦: 感谢指正
追梦
Java 并发编程之美 一书将与9月下旬上市,敬请期待。。。
niezhihao
跟着看下来,手敲了大部分代码,感觉就是非常的系统,把自己以前多线程知识混乱的东西全部梳理清楚了,谢谢作者!
你可能还喜欢
使用 Spring Boot 开发邮件系统
纯洁的微笑
基于深度学习的计算机视觉技术在无人驾驶中的应用
美团技术团队
Elasticsearch 搜索引擎应用实战
图南
百亿流量 API 网关设计与实践
kimmking
Java 性能瓶颈分析工具
蓬蒿
RabbitMQ 典型应用场景实战
SteadyHeart
微信扫描登录