要相信自己我啊 发表于 2024-7-18 05:34:38

python的一些常用技术(二)

三、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、关键概念:

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

来源:https://www.cnblogs.com/xiaojp65536/p/18308546
免责声明:由于采集信息均来自互联网,如果侵犯了您的权益,请联系我们【E-Mail:cb@itdo.tech】 我们会及时删除侵权内容,谢谢合作!
页: [1]
查看完整版本: python的一些常用技术(二)