当前位置: 首页 > 后端技术 > Python

Python多任务编程——多进程的使用

时间:2023-03-26 19:39:03 Python

1。导入进程包importmultiprocessingmultiprocessing是一个支持使用类似于threading模块的API生成进程的包。multiprocessing包提供本地和远程并发,通过使用子进程而不是线程有效地绕过全局解释器锁。因此,多处理模块允许程序员充分利用给定机器上的多个处理器。它在Unix和Windows上运行。2.创建进程Process([group[,target[,name[,args[,kwargs]]]]])不使用group参数,取值始终为Nonetarget表示调用对象,即task子进程要执行的args表示调用对象位置参数元组,args=(1,2,'hello',)使用multiprocessing.Process创建进程,target表示要执行的函数,可以用args传入元组,必须使用逗号,如args=('张三',)或使用kwarges传入字典,需要使用关键字指定参数,如kwargs={'name':'zhangsan','age':18}#创建进程sub_process=multiprocessing.Process(target=task)3.启动进程#启动进程sub_process.start()公共方法start()启动子进程实例join()等待子流程执行结束terminate()不管任务是否完成立即终止4.最后实现importmultiprocessingimporttimedefdance():foriinrange(5):print("dan??ce...")time.sleep(1)defsing():foriinrange(5):print("sing...")time.sleep(1)#判断是否为直接执行模块,程序入口模块#标准python写法,直接执行模块,需要添加判断是否为主模块的代码if__name__=='__main__':#createdance_process=multiprocessing.Process(target=dance)sing_process=multiprocessing.Process(target=sing)#startdance_process.start()sing_process.start()输出结果:dance...sing...dance...sing...dance...唱歌。..舞蹈。..唱歌...跳舞...唱歌...