进程:操作系统资源分配的最小单位,程序隔离的边界,即一个程序运行起来后,代码+用到的资源。
进程的状态:新建,就绪,运行,等待,死亡
就绪态:运行的条件都已经满足,正在等待cpu执行
执行态:cpu正在执行其功能
等待态:等待某些条件满足,例如一个程序sleep了,此时就处于等待态
创建子进程
P1 = mutiprocessing.Process()
P1.start()
创建子进程跟创建线程十分类似,只需要传入一个执行函数和函数的参数,创建一个Process实例,用start()方法启动
进程名称获取
mutiprocessing.current_process()
进程pid
1)mutiprocessing.current_process().pid
2) 使用import
os模块的getpid()/getppid()
进程间不共享全局变量
守护主进程
1) p1.daemon = True 设置守护主进程
2) p1.terminate() 强制退出整个程序
进程间通信Queue
queue = mutiprocessing.Queue(3) 定义消息队列
queue.qsize() 返回当前队列中包含的消息数量
queue.empty() 如果队列为空则返回True,其他返回False
queue.full() 如果队列为满则返回True,其他返回False