#异步
'''
同步调用就是,你喊你朋友吃饭,你朋友正在忙
如果你一直在那等他,等你朋友忙完,你们一块去--同步调用
你喊你朋友吃饭,你朋友正在忙,
如果你自己做你自己的事情,你朋友忙完,找到你,一块去吃饭--异步调用
'''
from multiprocessing import Process,Pool
import os,time
def download():
print("--进程池中的进程--pid=%d,ppid=%d"%(os.getpid(),os.getppid()))
for i in range(3):
print("--文件%d--"%i)
time.sleep(1)
return '下载完成!'
def alterUser(msg):
print("__callback func--pid=%d"%os.getpid())
print(msg)
def myerror():
print('error')
if __name__ == "__main__":
p = Pool(3)
#异步 callback 回调download返回的"下载完成" 传递给callback对应的alterUser函数
p.apply_async(func=download,callback=alterUser,error_callback=myerror)
print("--start--")
p.close()#关闭进程池,关闭后,p不再接受新的请求.
p.join()
# print(msg)
print("--end--")
# msg = download()
# print(msg)