进程的其他方法
进程id,进程名字,查看进程是否活着is_alive() terminate()发送结束进程的信号
僵尸进程和孤儿进程(了解)
验证进程之间是空间隔离的
守护进程
import time
from multiprocessing import Process
def f1():
time.sleep(3)
print('子进程一号')
def f2():
time.sleep(5)
print('普通子进程的代码')
if __name__ == '__main__':
p = Process(target=f1,)
# 将该进程设置为守护进程,必须写在start之前,意思如果我的主进程代码运行结束了,你这个子进程不管运行到什么地方都直接结束
p.daemon = True
p.start()
# 开启了一个普通的子进程来验证一下守护进程的结束纸盒主进程的代码结束有关,而整个程序的结束需要主进程和普通的子进程的代码都运行结束才结束
p2 = Process(target=f2,)
p2.start()
# 等待2号普通进程的结束,才继续执行下面主进程中的代码
p2.join()
# 守护进程会跟着父进程的代码运行结束,就结束
print('主进程结束')
进程锁(同步锁/互斥锁) *****
Loc = Lock()
Loc.acquire()
需要锁的代码
Loc.release()
With loc:
需要锁的代码
进程队列 ***** Queue()
Q = Queue(5)
Q.put() # 满了会等待
Q.get() #没有数据了会等待
Q.qsize()
Q.empty() 不可靠
Q.full()不可靠
Q.get_nowait() #不等待,但是报错
Q.put_nowait() #不等待,但是报错