社区
高性能计算
帖子详情
Python 2自带的CPython解释器能在多个CPU(不是单个多核CPU)上同时运行吗?
SukerZ
2017-05-03 07:41:44
如题,代码不做任何改变直接python main.py。用的是曙光大型机;PBS Pro批处理管理;分配一个节点多个CPU。
...全文
1336
回复
打赏
收藏
Python 2自带的CPython解释器能在多个CPU(不是单个多核CPU)上同时运行吗?
如题,代码不做任何改变直接python main.py。用的是曙光大型机;PBS Pro批处理管理;分配一个节点多个CPU。
复制链接
扫一扫
分享
转发到动态
举报
写回复
配置赞助广告
用AI写文章
回复
切换为时间正序
请发表友善的回复…
发表回复
打赏红包
python
就业班视频
您观看课程学习后 免费入群领取【超全
Python
资料包+17本学习电子书】
Python
, 是一种面向对象、解释型计算机程序设计...
Python
是纯粹的自由软件, 源代码和
解释器
C
Python
遵循 GPL(GNU General Public License)协议 。
python
多线程能用
多个
cpu
么?
python
的多线程不能利用
多核
CPU
原因是
python
的
解释器
使用了GIL(Global Interpreter Lock),在任意时刻中只允许
单个
python
线程
运行
。无论系统有多少个
CPU
核心,
python
程序都只能在一个
CPU
上
运行
。 解释:GIL 中文译为全局
解释器
锁,其本质上类似操作系统的 Mutex。GIL 的功能是:在
C
Python
解释器
中执行的每一个
Python
线程,都会先锁住自己,以阻止别的线程执行。 ...
为什么
Python
多线程无法利用
多核
?
Python
是一门
解释器
语言,代码通过
解释器
执行,
Python
存在多种
解释器
,分别基于不同语言开发,每个
解释器
有不同的特点。
Python
的多线程为什么不能利用
多核
处理器
1.全局解释锁 如题:
Python
的多线程为什么不能利用
多核
处理器? 全局
解释器
锁(Global Interpreter Lock)是计算机程序设计语言
解释器
用于同步线程的一种机制,它使得任何时刻仅有一个线程在执行。 即便在
多核
处理器上,使用 GIL 的
解释器
也只允许同一时间执行一个线程,常见的使用 GIL 的
解释器
有
C
Python
与Ruby MRI。 可以看到GIL并不是
Python
独有的特性,是解释型语言处理多线程问题的一种机制而非语言特性。 2.
Python
的
解释器
Python
是一门
解释器
语言,代
图解 | 为什么
Python
多线程无法利用
多核
?
Python
2.6引入了MultiProcess库来弥补Threading库中GIL带来的缺陷,基于此开发多进程程序,每个进程有单独的GIL,避免多进程之间对GIL的竞争,从而实现
多核
的利用,但是也带来一些同步和通信问题,这也是必然会出现的。使用两个线程展示出了在速度上的提高,但除了这个提高,这个收益并没有随着核数的增加而线性增长。
C
Python
是主流版本的
解释器
,这个
解释器
是使用C语言编写的,也是使用最为广泛的
解释器
,可以方便地和C/C++的类库进行交互,因此也是最受关注的
解释器
。
高性能计算
2,408
社区成员
1,024
社区内容
发帖
与我相关
我的任务
高性能计算
高性能计算
复制链接
扫一扫
分享
社区描述
高性能计算
社区管理员
加入社区
获取链接或二维码
近7日
近30日
至今
加载中
查看更多榜单
社区公告
暂无公告
试试用AI创作助手写篇文章吧
+ 用AI写文章