Stackless python和多核?
-
22-08-2019 - |
题
因此,我玩弄弄 Stackless蟒蛇 和一个问题出现在我的脑海,也许这就是"假设"或"共同"知识,但我找不到它实际上写上任何地方 stackless网站.
做 Stackless蟒蛇 利用多核Cpu?在正常Python你有吉尔不断存和使(true)使用多个核心需要使用多个进程,这是真的对 Stackless 还?
解决方案
Stackless蟒蛇不会 不 使用任何种类的多核心环境中。
这是一个常见的误解有关Stackless,因为它允许的程序,以利用基于线程的程序。对很多人这两者是紧密交织在一起,但是,事实上两个单独的事情。
内部Stackless使用一个循环的调度程序每一个时间表 tasklet (微型螺),但没有tasklet可以运行,同时另外一个。这意味着,如果一个tasklet是繁忙的,其他人必须等待,直至这tasklet放弃控制。通过默认的调度程序将不会停止一tasklet和得到处理时间到另一个。这是tasklet负责安排自己回到结束的日程安排队使用Stackless.时间表(),或通过完成其计算。
所有tasklets因此,执行顺序的方式, 即使当multiplpe核心。
为什么Stackless没有多核心的支持是因为这使得螺纹一个容易许多。而这仅仅是什么stackless是所有关于:
Stackless蟒是一个增强的 版本的Python编程 语言。它允许的程序员 获得好处的基于线程 编程没有性能 和复杂性相关的问题 与传统的螺纹。的 microthreads,Stackless增加了 蟒蛇是一种廉价的和轻便的 方便其可以,如果使用 正确的,得到以下好处:
- 改进程序的结构。
- 更多的可读的编码。
- 增加程序的效率。
这里是一个 链接 一些更多的信息,关于多个核心的和stackless.