-
计算密集型
- CPU 长时间满负荷运行, 如图像处理、大数据运算、圆周率计算等
- 计算密集型: 用 C 语言补充
- cProfile, timeit
-
I/O 密集型
- 网络 IO, 文件 IO, 设备 IO 等
- 一切皆文件
-
多任务处理
- 进程、线程、协程调度
- 的过程叫做上下文切换
- 进程、线程、协程对比
-
全局解释器锁 ( GIL )
- 它确保任何时候一个进程中都只有一个 Python 线程能进入 CPU 执行。
- 全局解释器锁造成单个进程无法使用多个 CPU 核心
- 通过多进程来利用多个 CPU 核心,一般进程数与CPU核心数相等,或者CPU核心数两倍
-
什么是同步、异步、阻塞、非阻塞?
- 同步, 异步: 客户端调用服务器接口时
- 阻塞, 非阻塞: 服务端发生等待
- 阻塞 -> 非阻塞
- 同步 -> 异步
-
协程:Stackless / greenlets / gevent | tornado / asyncio
-
-
线程安全, 锁
- 获得锁之后, 一定要释放, 避免死锁
- 尽量使用 with 去操作锁
- 获得锁之后, 执行的语句, 只跟被锁资源有关
- 线程之间的数据交互尽量使用 Queue
Python 性能之困

最新推荐文章于 2022-11-27 20:24:10 发布