并发
并发指的是两个程序同时运行,但是一个CPU在一定时间内只能执行一个程序, 于是,对于单个CPU,实际上是一种软件并行,即多次任务切换; 对于多个CPU,多核CPU,才有真正的硬件并行,每个CPU可以分配到不同的任务,并进行调度。
并发的实现方式
多进程
进程之间交互较为复杂,速度慢,但是不同的进程可以部署在不同的计算机上, 之间通过网络进行连接。
多线程
线程之间交互简洁,速度快
并发的目的
拆分不同的功能模块
各模块可能是实时的,互不干扰,各自处理事件和消息, 并发让循环消息的处理代码的逻辑更清晰
提高性能
- 数据并行
大量数据可以分批同时处理,最后汇总
- 任务并行
一个算法的各个步骤可以拆分,之间可以并行
