写一个python多任务的异步例子
时间: 2024-11-20 21:41:14 浏览: 7
在Python中,可以使用asyncio库来创建异步多任务程序。这里是一个简单的例子,展示了如何同时执行两个异步函数:
```python
import asyncio
# 定义两个异步函数
async def fetch_data(url):
await asyncio.sleep(2) # 模拟网络请求延迟
return f"Data from {url}"
async def process_data(data):
await asyncio.sleep(1) # 模拟数据处理时间
return f"Processed data: {data}"
async def main():
tasks = [
asyncio.create_task(fetch_data("example.com")),
asyncio.create_task(process_data(await fetch_data("anotherexample.com"))),
]
results = await asyncio.gather(*tasks) # 使用gather并发等待所有任务完成
for result in results:
print(result)
# 运行主函数
asyncio.run(main())
```
在这个例子中,`fetch_data`函数模拟网络请求,`process_data`函数模拟数据处理。通过`create_task`创建异步任务,并使用`asyncio.gather`并发地执行它们。每个任务都会在其内部函数完成后立即返回,而不会阻塞主线程。
阅读全文