13.1 说说你的多线程的理解
难度:★
重点:★★
白话解析
并发编程实际上是很多高级技术组件的基础,Redis、MQ、SpringCloud、高并发、微服务等都离不开并发编程的基础。而要学习并发编程,脑袋里面要串起一根线。
1、线的入口:就是并发编程的核心目的——说白了并发编程就是为了提升CPU的执行效率的。
2、怎么去提升效率呢:CPU是真正去执行程序的模块,它内部实际上就是通过一个个线程去完成逻辑执行的,每个线程都可以理解成一个人,在本章内容中,线程就是人,人就是线程。
如果一个CPU只创建一个线程,那执行的效率将会很慢,比如大家都用过迅雷下载过电影,如果一次只能下载一部的话,那100部电影要依次排队等候下载,很慢;但是一次性能同时下载5部的话,就会快很多(这里只是举个例子,不考虑带宽的问题)。说白了就是通过多个线程同时执行。人多力量大嘛。
那人都有不同的工种,线程也一样,它分为用户线程和守护线程:
-
用户线程:就是我们平常创建的普通线程。
-
守护线程是为用户线程服务的,可以理解为守护线程是JVM自动创建的线程(也不完全都是,可以在调start方法之前通过Thread.setDaemon()将用户线程设置成守护线程),例如JVM中的垃圾回收线程就是守护线程。
3、多线程同时执行产生了两个概念——并行与并发。
-
并行:在同一时间点<
本文详细探讨了Java并发编程的高级主题,包括多线程的理解、线程的创建方式、启动与停止、线程安全性问题及解决方案、Synchronized锁的理解、锁使用中的问题、线程通信方式等。通过深入浅出的解析,帮助读者掌握并发编程的核心概念和技术,为提升程序执行效率打下坚实基础。
订阅专栏 解锁全文
564

被折叠的 条评论
为什么被折叠?



