1. 并发与异步处理
-
多线程/多进程:
-
使用
concurrent.futures模块(ThreadPoolExecutor或ProcessPoolExecutor)实现并发。 -
注意:Python的GIL(全局解释器锁)会限制多线程的CPU密集型任务性能,但网络请求(I/O密集型)仍可通过多线程显著加速。
-
-
异步IO:
-
使用
asyncio+aiohttp库实现异步HTTP请求,适合高并发场景。 -
示例:
python
复制
下载
import aiohttp import asyncio async def fetch(url): async with aiohttp.ClientSession() as session: async with session.get(url) as response: return await response.text() async def main(): urls = ["https://example.com/page1", "https://example.com/page2"] tasks = [fetch(url) for url in urls] results = await asyncio.gather(*tasks) return results asyncio.run(main())
-
2. 请求优化
-
设置超时与重试:
-
使用
requests库时,通过timeout参数避免长时间阻塞。 -
结合
retrying
-

被折叠的 条评论
为什么被折叠?



