python的一些常用技术(二)

cnblogs 2024-07-18 08:39:00 阅读 97

三、python多线程

由于全局解释器锁 (GIL) 的存在,标准的 CPython 解释器并不支持真正的并行执行 Python 字节码。GIL 限制了在任何时刻只有一个线程可以执行 Python 字节码,这意味着多线程在 CPU 密集型任务中无法充分利用多核 CPU 的优势。但对于 I/O 密集型任务(例如网络操作、文件 I/O),多线程仍然是有效的并发处理方式,因为在这些操作等待完成时,GIL 会释放,让其他线程继续执行。

四、python异步:python 的异步编程是一种并发编程方式,旨在在 I/O 密集型任务(如网络请求、文件 I/O 等)中提高性能和效率。Python 中主要使用 asyncio 库来实现异步编程。

1、异步编程相关的一些库:

  • asyncio:Python 标准库,提供了异步 I/O、事件循环、协程和任务等功能。
  • aiohttp:用于异步 HTTP 请求的库。
  • aiomysql:用于异步 MySQL 数据库操作的库。
  • aioredis:用于异步 Redis 操作的库。

2、关键概念:

  1. 事件循环:驱动异步程序的核心。事件循环等待事件(如 I/O 操作完成),并将事件分派给相应的协程处理。
  2. 协程:使用 async def 定义的函数,可以在需要时暂停执行,并在将来某个时刻恢复执行。
  3. 任务:对协程的封装,使其能够在事件循环中执行。
  4. Future:表示异步操作的最终结果或失败。


声明

本文内容仅代表作者观点,或转载于其他网站,本站不以此文作为商业用途
如有涉及侵权,请联系本站进行删除
转载本站原创文章,请注明来源及作者。