PythonStudy——异步回调
异步回调
from concurrent.futures import ThreadPoolExecutor
import time
poo1 = ThreadPoolExecutor()
def task():
time.sleep(2)
return "饮料买好!!!"
print("mission start......")
# 定义一个回调函数
def finished(arg):
print(arg.result())
print("饮料买回来了!!!")
# 异步任务发起 res为异步任务调用的对象
res = poo1.submit(task)
# 给这个异步任务添加了一个回调函数 (Pycharm没有自动提示add_done_callback方法)
res.add_done_callback(finished)
# 线程设置阻塞(等待所有线程运行完毕,再清空线程池)
poo1.shutdown()
print("执行结果:",res.result())
print("mission over......")
# mission start......
# 饮料买好!!!
# 饮料买回来了!!!
# 执行结果: 饮料买好!!!
# mission over......
爬虫中的异步回调(基于线程)
爬虫中的异步回调(基于进程)