asyncio文档学习——消息循环EventLoop例子1
2017-07-05 16:16
239 查看
#coding:utf-8
import asyncio
def hello_world(loop):
print('hello world')
loop.stop()#停止事件环,引起run_forever退出在下一个合适的时机
loop = asyncio.get_event_loop()
'''
安排一个回调函数,它将尽快地被调用。当控制器返回一个事件环时,这个回调函数将在call_soon()返回值之后就被调用
这个操作像一个先进先出队列,回调函数按注册的顺序被调用。每一个回调函数都将只被调用一次。
回调函数之后任何位置的参数都将在回调函数被调用时传递给回调函数
返回一个asyncio.Handle的示例,他可以被用来取消回调
使用functools.partial去传递关键字给回调函数
非线程安全
'''
loop.call_soon(hello_world,loop)
'''
运行到调用stop()
1.stop......run_forever:轮询I/O选择器直到0超时,运行所有已经被调度的回调函数去响应I/O事件包括那些被调度过的,然后退出
2.stop-run_forever:运行当下回调队列,退出。注意被回调调度过的回调不会在此时运行,他们会在下一次run_forever时运行
'''
loop.run_forever()
'''
关闭事件环。事件环必须已经停止。挂起的回调函数会丢失。
清空队列同时切断执行,不会等待执行结束。
这是幂等的,不可逆的。
在编程中.一个幂等操作的特点是其任意多次执行所产生的影响均与一次执行的影响相同。幂等函数,或幂等方法,是指可以使用相同参数重复执行,并能获得相同结果的函数。这些函数不会影响系统状态,也不用担心重复执行会对系统造成改变。例如,“setTrue()”函数就是一个幂等函数,无论多次执行,其结果都是一样的.
在此方法之后没方法可以再被调用。
'''
loop.close()
import asyncio
def hello_world(loop):
print('hello world')
loop.stop()#停止事件环,引起run_forever退出在下一个合适的时机
loop = asyncio.get_event_loop()
'''
安排一个回调函数,它将尽快地被调用。当控制器返回一个事件环时,这个回调函数将在call_soon()返回值之后就被调用
这个操作像一个先进先出队列,回调函数按注册的顺序被调用。每一个回调函数都将只被调用一次。
回调函数之后任何位置的参数都将在回调函数被调用时传递给回调函数
返回一个asyncio.Handle的示例,他可以被用来取消回调
使用functools.partial去传递关键字给回调函数
非线程安全
'''
loop.call_soon(hello_world,loop)
'''
运行到调用stop()
1.stop......run_forever:轮询I/O选择器直到0超时,运行所有已经被调度的回调函数去响应I/O事件包括那些被调度过的,然后退出
2.stop-run_forever:运行当下回调队列,退出。注意被回调调度过的回调不会在此时运行,他们会在下一次run_forever时运行
'''
loop.run_forever()
'''
关闭事件环。事件环必须已经停止。挂起的回调函数会丢失。
清空队列同时切断执行,不会等待执行结束。
这是幂等的,不可逆的。
在编程中.一个幂等操作的特点是其任意多次执行所产生的影响均与一次执行的影响相同。幂等函数,或幂等方法,是指可以使用相同参数重复执行,并能获得相同结果的函数。这些函数不会影响系统状态,也不用担心重复执行会对系统造成改变。例如,“setTrue()”函数就是一个幂等函数,无论多次执行,其结果都是一样的.
在此方法之后没方法可以再被调用。
'''
loop.close()
相关文章推荐
- asyncio文档学习——消息循环EventLoop例子2
- asyncio文档学习——消息循环EventLoop例子3
- Python asyncio文档翻译--运行一个消息循环EventLoop
- live555学习笔记3-消息循环
- MFC学习API编程消息循环
- Winform中消息循环、异步操作、Control.Invoke&Control.BeginInvoke学习
- 韩顺平_轻松搞定网页设计(html+css+javascript)_第22讲_js三大流程控制(顺序流程、分支控制、循环控制)_学习笔记_源代码图解_PPT文档整理
- live555学习笔记3-消息循环
- 学习笔记之深入浅出MFC 第3讲 消息循环
- muduo网络库学习之EventLoop(一):事件循环类图简介和muduo 定时器TimeQueue
- 用一个例子学习PHP的选择和循环
- VS2013MFC单文档工程学习笔记六 - 窗口的常用消息事件
- 一个学习for 循环语句不错的例子
- Scala学习之for 循环和 yield 的例子
- Android消息循环系统学习
- HTML5学习之跨文档传输消息(七)
- [WPF] Felix 的线程学习笔记(一)——从Win32的消息循环说起
- NUnit 文档例子翻译学习
- qt fortuneserver 例子学习 ( 给客户端发送消息)
- windows编程学习笔记(1)创建窗口与消息循环