Python学习笔记十

时间:2023-01-26 16:14:02

守护进程

  p.daemon=True

  必须在p.start()之前设置。

  守护进程内不能再开子进程。

在主进程中开启守护进程(就是一个子进程)

  什么时候应该把子进程设置为守护进程?

    开子进程的目的:就是为了并发执行任务

    子进程与主进程生命周期一样,那么必须把这个子进程设置为守护进程。

  迷惑例子:

    守护进程到底什么时候死?    主进程执行完最后一行代码,守护进程就死了。

    主进程到底什么时候执行完毕?   主进程执行完最后一行代码

    主进程到底什么时候算死掉?  等到所有的非守护进程的子进程都死掉,主进程才死。

    主进程执行完毕以后,是否意味着主进程会立马死掉?   不是

IPC机制:队列和管道

  队列的使用

  q.put

  q.get

互斥锁   from  multiprocessing  import  Lock

  模拟抢票

    查看有多少票

    

  acuquire 只能执行一次

  lock 可以实现局部串行

  join实现整体串行

  互斥锁一定要传给子进程。

生产者消费者模型
    生产者:生产数据,造数据

    消费者:消费数据,处理数据

共享内存

from multiprocessing import Manager

  

回调机制

线程

  开启线程的两种方式

  

  GIL全局解释器锁与互斥锁

  

  线程池

协程

  单线程下实现并发