如果你 while 循环内部不是 print() 语句,而是网络连接的处理:
async def handle_client(reader, writer):
while True:
buf = await reader.read(1024 * 4)
if not buf:
break
这些协程函数就可以并行了。因为函数中间的 await 会把当前协程切换出来给事件循环协程。而单纯的 print() 语句会一直占满整个线程,让别的协程没有运行的机会。
【 在 migrant 的大作中提到: 】
: 我有一个函数:
: async def fn():
: while true:
: ...................
--
FROM 117.24.94.*