zj3D 6 days ago
parent ea53899bbd
commit 49bf182cf8

@ -8,11 +8,8 @@
### I/O 层面减少等待时间 ### I/O 层面减少等待时间
- 异步编程asyncio 库允许在单线程中处理多个 I/O 操作(实现并发执行),减少等待时间。 - 异步编程asyncio 库允许在单线程中处理多个 I/O 操作(实现并发执行),减少等待时间 .
- 多线程Python的线程切换是由解释器完成而不是操作系统。切换不仅基于时间间隔Python的多线程 时间切片间隔可以通过 sys.setswitchinterval() 设置,通常以秒为单位。其他切换触发条件 - 多线程Python的线程切换是由解释器完成而不是操作系统。切换不仅基于时间间隔.
- 当线程等待I/O操作如网络请求或磁盘读写GIL会被释放允许其他线程运行。
- 某些函数(如 time.sleep()会显式释放GIL。
- 线程主动释放GIL。
- 批量处理减少I/O请求数量 - 批量处理减少I/O请求数量

@ -1,10 +1,15 @@
Python的多线程时间切片间隔可以通过 sys.setswitchinterval() 设置。其他切换触发条件
- 当线程等待I/O操作如网络请求或磁盘读写GIL会被释放允许其他线程运行。
- 某些函数(如 time.sleep()会显式释放GIL。
- 线程主动释放GIL。
异步编程特别适合高并发的 I/O 密集型任务(如 Web 服务器、爬虫、实时通信), 特别是大量并发连接的任务。 异步编程特别适合高并发的 I/O 密集型任务(如 Web 服务器、爬虫、实时通信), 特别是大量并发连接的任务。
对于 **I/O 密集型任务****异步编程** 通常比 **多线程** 是更好的选择。 对于 **I/O 密集型任务****异步编程** 通常比 **多线程** 是更好的选择。
多线程相对编程简单 。 多线程相对编程简单 。
但,以下场景更适合使用 **多线程** 以下场景更适合使用 **多线程**
### 场景:**GUI 应用程序** ### 场景:**GUI 应用程序**

Loading…
Cancel
Save