第13章 并发编程高阶(一)

13.1 说说你的多线程的理解

难度:★

重点:★★

白话解析

并发编程实际上是很多高级技术组件的基础,Redis、MQ、SpringCloud、高并发、微服务等都离不开并发编程的基础。而要学习并发编程,脑袋里面要串起一根线。

1、线的入口:就是并发编程的核心目的——说白了并发编程就是为了提升CPU的执行效率的。

2、怎么去提升效率呢:CPU是真正去执行程序的模块,它内部实际上就是通过一个个线程去完成逻辑执行的,每个线程都可以理解成一个人,在本章内容中,线程就是人,人就是线程。

如果一个CPU只创建一个线程,那执行的效率将会很慢,比如大家都用过迅雷下载过电影,如果一次只能下载一部的话,那100部电影要依次排队等候下载,很慢;但是一次性能同时下载5部的话,就会快很多(这里只是举个例子,不考虑带宽的问题)。说白了就是通过多个线程同时执行。人多力量大嘛。

那人都有不同的工种,线程也一样,它分为用户线程和守护线程:

  • 用户线程:就是我们平常创建的普通线程。

  • 守护线程是为用户线程服务的,可以理解为守护线程是JVM自动创建的线程(也不完全都是,可以在调start方法之前通过Thread.setDaemon()将用户线程设置成守护线程),例如JVM中的垃圾回收线程就是守护线程。

3、多线程同时执行产生了两个概念——并行与并发。

  • 并行:在同一时间

你可能感兴趣的:(白话Java面试,java,开发语言)