CPU密集型和IO密集型
2024-08-29 16:31:20
对于Python如果是CPU密集型应该用多进程模型(大量的计算)
如果是IO密集型应该用多线程模型(数据的读取写入、网络IO数据传输)
由于GIL的存在,CPython不能有效的利用多核处理器,表现为任意时间一个进程只有一个线程在跑;而IO密集型运算,多数是在IO读写将线程堵塞掉了,这个时候线程切换是很合理的,反正线程只是单纯地等待,在这个等待的时候去做其他的事情,资源利用率就上去了。
python的多线程只能使用一个cpu核心,io密集型应用,本来cpu占用率就很低(主要原因还是GIL锁)
python多线程这个限制和协程有点像,应用也很像,都是适合io密集型
最新文章
- js与多行字符串
- Mybtis框架总结(一)
- javascript日期验证:填写的日期大于等于当前日期
- Ruby 类案例
- Android系列之UI组件----Menu菜单
- commonjs amd cmd的区别
- C++列出完数
- python练习程序(c100经典例17)
- C# 枚举绑定到ComboBox
- HAOI2007 理想的正方形
- css考核点整理(十一)-响应式开发经验,响应式页面的三种核心技术是什么
- 【jar包】JSON之解析利器GSON--【gson-2.2.4.jar】
- WPF获取窗口句柄的方法
- 使用git提交到github,每次都要输入用户名和密码的解决方法
- Mac下Git安装及配置
- Hadoop问题:DataNode进程不见了
- 初学python之路-day09
- appium三种等待时间
- css3实现背景渐变
- 12 week blog
热门文章
- 【BZOJ3864】Hero meet devil DP套DP
- 在嵌入式、海思、ARM中进行统一的音频AAC编码的必要性
- ptyhon ORM mongoengine
- 我的Android进阶之旅------>Android检测wifi连接状态
- PAT 天梯赛 L2-028. 秀恩爱分得快 【数据处理】
- mooc_java 集合框架下
- js_调试_01_14 个你可能不知道的 JavaScript 调试技巧
- 机器学习 F1-Score, recall, precision
- 查询oracle 数据库 SQL语句执行情况
- kubectl工具管理应用生命周期