Python学习之延时回调普通函数详解
2017-09-08 22:28
645 查看
本文将通过一个例子为大家介绍python中延时回调普通函数相关内容,一起来看看吧,希望对大家学习python有所帮助。
想在将来某一时刻进行函数回调,可以使用call_later()函数来实现,第一个参数是回调用延时,第二个是回调的函数名称,例子如下:
import asyncio
def callback(n):
print('callback {} invoked'.format(n))
async def main(loop):
print('registering callbacks')
loop.call_later(0.2, callback, 1)
loop.call_later(0.1, callback, 2)
loop.call_soon(callback, 3)
await asyncio.sleep(0.4)
event_loop = asyncio.get_event_loop()try:
print('entering event loop')
event_loop.run_until_complete(main(event_loop))finally:
print('closing event loop')
event_loop.close()
结果输出如下:
entering event loop
registering callbacks
callback 3 invoked
callback 2 invoked
callback 1 invoked
closing event loop
在这个例子里,同时调用的三个函数,会发现调用顺序不一样。call_soon()是注册之后立即调用。
来源:大坡3D软件开发
想在将来某一时刻进行函数回调,可以使用call_later()函数来实现,第一个参数是回调用延时,第二个是回调的函数名称,例子如下:
import asyncio
def callback(n):
print('callback {} invoked'.format(n))
async def main(loop):
print('registering callbacks')
loop.call_later(0.2, callback, 1)
loop.call_later(0.1, callback, 2)
loop.call_soon(callback, 3)
await asyncio.sleep(0.4)
event_loop = asyncio.get_event_loop()try:
print('entering event loop')
event_loop.run_until_complete(main(event_loop))finally:
print('closing event loop')
event_loop.close()
结果输出如下:
entering event loop
registering callbacks
callback 3 invoked
callback 2 invoked
callback 1 invoked
closing event loop
在这个例子里,同时调用的三个函数,会发现调用顺序不一样。call_soon()是注册之后立即调用。
来源:大坡3D软件开发
相关文章推荐
- python里延时回调普通函数
- python中实现延时回调普通函数示例代码
- Python学习入门基础教程(learning Python)--2.3.2Python函数实参详解
- Python学习第二篇:函数,属性详解
- Python学习之基础语言篇——函数参数详解
- Python学习之功能函数使用方法详解
- Python学习之偏向函数详解
- Python学习笔记5:函数参数详解
- Python语言学习讲解三:详解Python中的split()函数的使用方法
- Python学习之高级函数详解
- Python学习之函数以及函数式编程详解
- c++ python交互之boost.python 简集之普通函数
- MFC学习笔记之:程序关闭过程的函数响应顺序详解
- python学习--函数使用
- c++ python交互之boost.python 简集之普通函数
- 我的python学习之路----函数
- Python学习(五) -- 函数
- python_模块与函数学习笔记
- Python学习笔记(5):函数
- glut函数详解|回调API