Python 测开28期 - WL - 学习笔记 - 多任务编程概念

多任务编程

多任务定义

  • 同时执行多个任务或处理多个工作的能力

优点

  • 可以提高程序的性能
  • 可以提高程序的响应能力

问题

  • 可能引发资源竞态条件
  • 可能引发数据一致性问题

多任务编程定义

  • 在编程时同时执行多个任务或线程

实现方式

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