python单线程接口并发
时间: 2023-11-10 09:53:30 浏览: 89
在 Python 中,单线程的接口并发可以通过异步编程来实现。常见的异步编程方式有以下几种:
1. 回调函数:通过回调函数来实现异步调用。在执行某个操作时,将回调函数作为参数传入,等到操作完成后,再调用回调函数。
2. 协程:协程是一种轻量级的线程,可以在单线程中实现并发。使用协程可以避免线程切换的开销,提高程序的效率。
3. async/await:async/await 是 Python 3.5 引入的异步编程方式。通过 async/await 可以将异步调用写成类似于同步调用的形式。
下面是一个使用协程实现的例子:
```python
import asyncio
async def fetch_url(url):
async with aiohttp.ClientSession() as session:
async with session.get(url) as response:
return await response.text()
async def main():
urls = ['https://www.baidu.com', 'https://www.google.com']
tasks = [fetch_url(url) for url in urls]
responses = await asyncio.gather(*tasks)
print(responses)
if __name__ == '__main__':
loop = asyncio.get_event_loop()
loop.run_until_complete(main())
```
在上面的代码中,fetch_url 函数使用了 async/await 关键字来实现异步调用,main 函数则使用了 asyncio.gather 方法将多个协程对象打包成一个任务,最后使用 event_loop.run_until_complete() 方法来执行任务。
阅读全文