事件驱动的编程侧重于事件。最终,程序的流程取决于事件。到目前为止,我们处理顺序或并行执行模型,但具有事件驱动编程概念的模型称为异步模型。事件驱动的编程取决于始终侦听新传入事件的事件循环。事件驱动编程的工作取决于事件。一旦事件循环,然后事件决定执行什么以及以什么顺序执行。以下流程图将帮助您了解其工作原理
Python模块 - Asyncio
Asyncio模块是在Python 3.4中添加的,它提供了使用协同例程编写单线程并发代码的基础结构。以下是Asyncio模块使用的不同概念
事件循环
事件循环是处理计算代码中的所有事件的功能。它在整个程序的执行过程中发挥作用,并跟踪事件的传入和执行。Asyncio模块允许每个进程使用一个事件循环。以下是Asyncio模块提供的一些管理事件循环的方法
loop = get_event_loop() - 此方法将为当前上下文提供事件循环。
loop.call_later(time_delay,callback,argument) - 此方法安排在给定的time_delay秒之后调用的回调。
loop.call_soon(callback,argument) - 此方法安排尽快调用的回调。 在call_soon()返回并且控件返回到事件循环时调用回调。
loop.time() - 此方法用于根据事件循环的内部时钟返回当前时间。
asyncio.set_event_loop() - 此方法将当前上下文的事件循环设置为循环。
asyncio.new_event_loop() - 此方法将创建并返回一个新的事件循环对象。
loop.run_forever() - 此方法将一直运行,直到调用stop()方法。
例