课程总目录
文章目录
一、项目必备基础概念
作为五大池(内存池、连接池、线程池、进程池、协程池)之一,线程池的应用非常广泛,不管是客户端程序,还是后台服务程序,都是提高业务处理能力的必备模块。有很多开源的线程池实现,虽然各自接口使用上稍有区别,但是其核心实现原理都是基本相同的。
1.1 并发和并行
- CPU单核
- CPU多核、多CPU
并发:单核上,多个线程占用不同的CPU时间片,物理上还是串行执行的,但是由于每个线程占用的CPU时间片非常短(比如10ms),看起来就像是多个线程都在共同执行一样,这样的场景称作并发(concurrent)
并行:在多核上或者多CPU上,多个线程是在真正的同时执行,这样的场景称作并行(parallel)
1.2 多线程的优势
首先我们要认识到一个问题