什么是并发?
并发是指在同一时间段内处理多个任务的能力,常见于多线程、异步编程等场景
- 核心目标:提高程序效率、充分利用CPU资源
- 常见实现:线程池、协程、事件循环
- ⚠️ 注意:并发≠并行,需通过调度实现任务重叠
线程与进程
- 进程:操作系统资源分配的基本单位(如:进程_结构)
- 线程:进程内的执行单元(如:线程_生命周期)
- 差异对比:
特性 进程 线程 上下文切换 资源消耗大 资源消耗小
同步机制 🛡️
- 互斥锁(Mutex):防止多个线程同时访问共享资源
- 条件变量(Condition):线程等待特定条件触发
- 原子操作:无需锁的线程安全操作(如:原子_操作)
异步编程 ✅
- 回调函数:通过函数指针实现异步处理
- Promise/async-await:现代语言的异步语法糖
- 事件驱动:基于事件循环的非阻塞模型
并发与并行 🔄
- 并发:逻辑上的同时性(如:并发_模型)
- 并行:物理上的同时性(需多核CPU支持)
- 适用场景:
- 并发:I/O密集型任务
- 并行:CPU密集型任务
注意事项 ⚠️
- 避免死锁(如:死锁_案例)
- 注意线程安全(如:线程_安全)
- 合理使用资源限制(如:资源_限制)