异步回调

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......
爬虫中的异步回调(基于线程)


爬虫中的异步回调(基于进程)


本文深入讲解了异步回调在Python中的应用,通过示例代码展示了如何使用ThreadPoolExecutor发起异步任务,并添加回调函数来处理任务完成后的结果。适用于理解并发编程中异步任务的处理流程。
16万+

被折叠的 条评论
为什么被折叠?



