多进程:主要运行多处理模块
进口操作系统,时间 导入系统 从多处理导入过程 类MyProcess(过程): MyProcess docstring“”“”“” def __init__(自我,参数,调): 超级(MyProcess自我). __init__ () 自我。arg=参数 自我。回调=回调 def运行(自我): self.callback (self.arg) def测试(arg): 打印(“子进程{}开始祝辞祝辞祝辞pid={} " .format (arg os.getpid ())) 我的范围(1、5): sys.stdout.write(“子进程{}运行中{}\ r”.format (arg,我)) sys.stdout.flush () time . sleep (1) def main (): 打印(“主进程开始祝辞祝辞祝辞pid={} " .format (os.getpid ())) 测试项目=MyProcess (1) myp.start () myp2=MyProcess(测试) myp2.start () myp.join () myp2.join () 打印(“主进程终止”) if __name__==癬_main__”: main ()
线程池:主要运用了未来模块!下面例子,第一个是正常,第二第线程池,第三个用运行了2个线程池,会排队
从并发。期货进口ThreadPoolExecutor 导入的时间 def sayhello (): 打印(“你好:”+ a) time . sleep (2) def main (): 种子=(“a”、“b”、“c”) start1=time.time () 对于每一个种子: sayhello(每个) end1=time.time () 打印(“time1:”+ str (end1-start1)) start2=time.time () 与ThreadPoolExecutor(3)遗嘱执行人: 对于每一个种子: executor.submit (sayhello,每个) end2=time.time () 打印(“time2:”+ str (end2-start2)) start3=time.time () 与executor1 ThreadPoolExecutor (2): executor1.map (sayhello、种子) end3=time.time () 打印(“历史问题:”+ str (end3-start3)) if __name__==癬_main__”: main ()
以上所述是小编给大家介绍的python多进程使用及线程池的使用方法代码详解,希望对大家有所帮助,如果大家有任何疑问请给我留的言,小编会及时回复大家的。在此也非常感谢大家对网站的支持!