python中利用Future对象回调别的函数示例代码

 更新时间:2017年09月07日 10:24:24   作者:caimouse  
最近在学习python,所以这篇文章主要给大家介绍了关于在python中利用Future对象回调别的函数的相关资料,文中通过示例代码介绍的非常详细,对大家的学习或者工作具有一定的参考学习价值,需要的朋友们下面随着小编来一起学习学习下吧。

前言

本文主要给大家介绍了关于python中用Future对象回调别的函数的相关内容,分享出来供大家参考学习,下面话不多说了,来一起看看详细的介绍吧。

Future对象也可以像协程一样,当它设置完成结果时,就可以立即进行回调别的函数

例子如下:

import asyncio 
import functools 
 
 
def callback(future, n): 
 print('{}: future done: {}'.format(n, future.result())) 
 
 
async def register_callbacks(all_done): 
 print('registering callbacks on future') 
 all_done.add_done_callback(functools.partial(callback, n=1)) 
 all_done.add_done_callback(functools.partial(callback, n=2)) 
 
 
async def main(all_done): 
 await register_callbacks(all_done) 
 print('setting result of future') 
 all_done.set_result('the result') 
 
 
event_loop = asyncio.get_event_loop() 
try: 
 all_done = asyncio.Future() 
 event_loop.run_until_complete(main(all_done)) 
finally: 
 event_loop.close() 

输出结果如下:

registering callbacks on future
setting result of future
1: future done: the result
2: future done: the result

在这个例子里,先调用函数add_done_callback()来注册一个回调函数,由于只支持一个参数,使用functools.partial来作一个封装。当set_result()函数调用之后,就立即进行回调函数的运行。

总结

以上就是这篇文章的全部内容了,希望本文的内容对大家的学习或者工作能带来一定的帮助,如果有疑问大家可以留言交流,谢谢大家对脚本之家的支持。

相关文章

  • python 判断文件还是文件夹的简单实例

    python 判断文件还是文件夹的简单实例

    今天小编就为大家分享一篇python 判断文件还是文件夹的简单实例,具有很好的参考价值,希望对大家有所帮助。一起跟随小编过来看看吧
    2019-06-06
  • Python教程之pytest命令行方式运行用例

    Python教程之pytest命令行方式运行用例

    pytest有丰富的命令行选项,以满足不同的需要,下面这篇文章主要给大家介绍了关于Python教程之pytest命令行方式运行的相关资料,需要的朋友可以参考下
    2021-12-12
  • python Xarray处理设置二维数组作为coordinates方式

    python Xarray处理设置二维数组作为coordinates方式

    这篇文章主要介绍了python Xarray处理设置二维数组作为coordinates方式,具有很好的参考价值,希望对大家有所帮助。如有错误或未考虑完全的地方,望不吝赐教
    2023-07-07
  • Python+redis通过限流保护高并发系统

    Python+redis通过限流保护高并发系统

    这篇文章主要介绍了Python+redis通过限流保护高并发系统,文中通过示例代码介绍的非常详细,对大家的学习或者工作具有一定的参考学习价值,需要的朋友可以参考下
    2020-04-04
  • Python可视化模块altair的使用详解

    Python可视化模块altair的使用详解

    Altair被称为是统计可视化库,因为它可以通过分类汇总、数据变换、数据交互、图形复合等。本文和大家聊一下Python当中的altair可视化模块,并且通过调用该模块来绘制一些常见的图表,感兴趣的可以了解一下
    2022-07-07
  • python函数调用,循环,列表复制实例

    python函数调用,循环,列表复制实例

    这篇文章主要介绍了python函数调用,循环,列表复制实例,具有很好的参考价值,希望对大家有所帮助。一起跟随小编过来看看吧
    2020-05-05
  • python爬虫将js转化成json实现示例

    python爬虫将js转化成json实现示例

    这篇文章主要为大家介绍了python爬虫将js转化成json实现示例详解,有需要的朋友可以借鉴参考下,希望能够有所帮助,祝大家多多进步,早日升职加薪
    2023-05-05
  • 夯实基础python集合的应用场景及字符串定义和表示

    夯实基础python集合的应用场景及字符串定义和表示

    这篇文章主要为大家介绍了python集合的应用场景及字符串定义和表示,来帮大家夯实基础,有需要的朋友可以借鉴参考下,希望能够有所帮助
    2023-10-10
  • Python灰度变换中位图切割分析实现

    Python灰度变换中位图切割分析实现

    灰度变换是指根据某种目标条件按一定变换关系逐点改变源图像中每个像素灰度值的方法。目的是改善画质,使图像显示效果更加清晰。图像的灰度变换处理是图像增强处理技术中的一种非常基础、直接的空间域图像处理方法,也是图像数字化软件和图像显示软件的一个重要组成部分
    2022-10-10
  • python监控nginx端口和进程状态

    python监控nginx端口和进程状态

    这篇文章主要为大家详细介绍了python监控nginx端口和进程状态,具有一定的参考价值,感兴趣的小伙伴们可以参考一下
    2019-09-09

最新评论