【问题标题】:Does Pypy's stackless thread option support parallel execution?Pypy 的无堆栈线程选项是否支持并行执行?
【发布时间】:2014-01-28 11:05:11
【问题描述】:

我正在阅读有关 PyPy 的 stackless feature 的信息。我的问题很简单:这能绕过 GIL 吗?该页面说它允许以“大规模并发样式”进行编码。这是否也意味着大规模并行风格,利用多核?

【问题讨论】:

  • WTF 是无堆栈线程吗?矛盾的。
  • 我猜stackless并发会更准确。

标签: python multithreading pypy gil stackless


【解决方案1】:

没有。微线程更轻量级,编程更方便,但仍然不能并行执行,原因与“堆栈式”Python 不能并行运行线程相同。微线程无法解决 GIL 解决的问题,实际上它们并不是为了提供并行性。

请注意,原始的基于 CPython 的 Stackless 也是如此(请参阅 Stackless python and multicores?)。

【讨论】:

  • 我应该提到的是,STM 上的工作可能甚至在一些以纯 Stackless 样式编写的程序上也可以使用多核,但目前这是“未来的研究”。
  • 有没有像 CPython 这样的多道程序模块?
  • @jmite 你的意思是multiprocessing? PyPy 有,是的。
猜你喜欢
  • 2016-05-13
  • 1970-01-01
  • 1970-01-01
  • 2018-09-23
  • 1970-01-01
  • 1970-01-01
  • 1970-01-01
  • 1970-01-01
  • 2010-09-22
相关资源
最近更新 更多