多任务编程
多任务定义
- 同时执行多个任务或处理多个工作的能力
优点
- 可以提高程序的性能
- 可以提高程序的响应能力
问题
- 可能引发资源竞态条件
- 可能引发数据一致性问题
多任务编程定义
- 在编程时同时执行多个任务或线程
实现方式
- 多线程
- 同一个程序内同时运行多个线程,每个线程执行不同的任务,
- 提高并发能力,
- 需要注意线程安全问题,如:访问公共资源时需要使用锁来保证数据的一致性
- 多进程
- 在操作系统级别同时运行多个独立进程,每个进程拥有独立的内存空间和资源
- 可以实现更高的隔离性
- 协程
- 在同一个线程中实现多个任务的切换和调度
- 通过 yield 语句和生成器函数实现任务的暂停和恢复
- 避免线程切换的开销并减少锁的使用
- 常用于异步编程,如:网络编程和 IO 密集型任务
- 并行或交替执行,实现并发处理