认识进程和线程

什么是进程

1.进程是执行中的程序
2.拥有独立的地址空间、内存、数据栈等
3.操作系统管理进程
4.派生(fork或apswn)新进程
5.进程间通信基于IPC方式共享信息

什么是线程

1.同进程下执行,并共享相同的上下文
2.线程间的信息共享和通信更加容易
3.多线程并发执行
4.需要同步原语

并发和并行的区别

1.并发:多线程并发执行 同一个时刻只有一个线程执行 进行线程的轮询 同步原语:解释器主循环中,使用全局解释器锁GIL, 保证主循环同一时刻 只有一个控制线程在执行
2.并行:多进程并行执行 同一个时刻存在多个进程的执行

python与线程

并发原理

1.py中会开启一个解释器的进程,使用GIl来保证进程内单个时刻单个线程的执行
2.gil的原理:

  • 设置gil
  • 切换近一个线程去运行
  • 执行下面操作
    • 指定数量的字节码指令
    • 线程主动让出控制权
  • 把线程设置回睡眠的状态(切换出线程)
  • 解锁Gil
  • 重复上面的步骤

两种线程管理

  • _thread: 提供了基本的线程和锁
  • threading:提供了更高级别、功能更全面的线程管理
    • 支持同步机制和守护线程

python多线程处理_同步机制
python多线程处理_python_02
python多线程处理_同步机制_03
python多线程处理_同步机制_04