【发布时间】:2017-11-21 06:22:11
【问题描述】:
我有一个基于 Python 3.5+ 异步框架(apistar、sanic 等)的网络应用程序。该应用程序进行各种 IO 调用 - 对数据库、Redis 等 - 也是异步的。
Some docs 建议使用额外的事件循环:
import asyncio
import peewee
from peewee_async import Manager, PostgresqlDatabase
loop = asyncio.new_event_loop() # Note: custom loop!
database = PostgresqlDatabase('test')
objects = Manager(database, loop=loop)
据我了解,await 语句允许事件循环在遇到 IO 时进行上下文切换,因此似乎完全不需要额外的事件循环。
使用额外的事件循环有什么好处,什么时候应该使用额外的循环?
【问题讨论】:
标签: python python-3.x async-await python-asyncio event-loop