day 31-1 守护进程、互斥锁、队列、生产消费模型
守护进程 关于守护进程需要强调两点 其一:守护进程会在主进程代码执行结束后就终止 其二:守护进程内无法再开启子进程,否则抛出异常:AssertionError: daemonic processes are not allowed to have children from multiprocessing import Process import time def foo(): pass def run(): print('this is 子进程') time.sleep(3) p1 = Process(target=foo,) # AssertionError: daemonic processes are not allowed to have children p1.start() if __name__ == '__main__': p = Process(target=run,) p.daemon = True # 守护进程要主进程执行完毕前开启 p.start() p.join() print('主进程') 互斥锁 进程之间数据不共享,但是共享同一套文件系统,所以访问同一个文件,或同一个打印终端,是没有问题的,而共享带来的是竞争,竞争带来的结果就是错乱, 主要参数: from multiprocessing import Process, Lock