关于协程的基础问题,求大神解答。
很多教程都是用asyncio.sleep()来举例,但是和实际应用差别太大了。如下面的例子,目的:picturejih 里面有 3个子列表, 我想用协程‘’同步‘’取这3个子列表的值, 跪求大佬指点应该如何做呢?
import asyncio
picturejihe = [['a','b','c'],['d','e','f'],['g','h','i']]
def quzhi():
for i in picturejihe:
yield i
async def xieru(y):
for x in quzhi():
for z in x:
print(z)
async def main():
task1 =asyncio.create_task(xieru(3))
task2 =asyncio.create_task(xieru(1))
await task1
await task2
asyncio.run(main()) 我想用协程‘’异步‘’取这3个子列表的值, 跪求大佬指点应该如何做呢?在线等,急! 想达到的结果是什么,同步取值是什么意思?
协程只能在IO操作的时候有用asyncio.sleep模拟的IO太过于正常
你应该用aiohttp库 sqlalchemy.ext.asyncio库来试试你会发现asyncio.run根本不能运行 loop.run_until_complete()也大概率没法用只有asyncio.run_coroutine_threadsafe是最好用的 kogawananari 发表于 2021-10-30 17:05
协程只能在IO操作的时候有用asyncio.sleep模拟的IO太过于正常
你应该用aiohttp库 sqlalchemy.ext.asyn ...
实际上有大IO操作,只是原代码过于复杂, 我就举了个简单的例子来描述问题了。
页:
[1]