7.13python多进程
所以引入了 多进程*(异步) 处理效率高
#!/usr/bin/env python #!--*--coding:utf-8 --*-- #!@Time :2018/7/13 19:26 #!@Author TrueNewBee import time from multiprocessing import Process #多进程打印* 异步 def func(filename,content): """定义一个函数执行打印""" print('*'*arg1) time.sleep(5) print('*'*arg2) if __name__ =="__main__": # 异步,并不是按顺序同时打印 # for i in range(10): # # p = Process(target=func,args=(10*i,20*i)) # # p.start() p_list = [] #创建一个进程对象的列表 for i in range(10): p = Process(target=func,args=(10*i,20*i)) p_list.append(p) p.start() #让"运行完了最后打印,是个进程都是异步,在此之前所有子进程全部进行完了,然后才是同步 # for p in p_list:p.join() 列表推导式还原,其实就是一个for循环 [p.join() for p in p_list] #列表推导式 print("运行完了")
#!/usr/bin/env python #!--*--coding:utf-8 --*-- #!@Time :2018/7/11 20:46 #!@Author TrueNewBee """ 2018-7-13 19:16:18 昨天去俺弟家玩去了,昨晚上在他家没睡好,还是在家撸代码好 """ import time from multiprocessing import Process def func(arg1,arg2): """定义一个函数执行打印""" print('*'*arg1) time.sleep(5) print('*'*arg2) # 先打印了 "运行完了" 5秒 再打印 arg2 实现了异步效果 if __name__ =="__main__": p = Process(target=func ,args=(10,20)) p.start() print("hhhhhhh") #join()和start()之间的部分仍然是异步,在join()下面才是同步 # p.join() #是感知一个子进程的结束,将异步的程序变为同步 """实现了异步效果""" print('========:运行完了')