<?xml version="1.0"?>
<feed xmlns="http://www.w3.org/2005/Atom" xml:lang="zh">
	<id>https://arolstar52-zhtest.hf.space/index.php?action=history&amp;feed=atom&amp;title=Stackless_Python</id>
	<title>Stackless Python - 版本历史</title>
	<link rel="self" type="application/atom+xml" href="https://arolstar52-zhtest.hf.space/index.php?action=history&amp;feed=atom&amp;title=Stackless_Python"/>
	<link rel="alternate" type="text/html" href="https://arolstar52-zhtest.hf.space/index.php?title=Stackless_Python&amp;action=history"/>
	<updated>2026-06-27T19:48:18Z</updated>
	<subtitle>在这个wiki上该页的修订历史</subtitle>
	<generator>MediaWiki 1.43.8</generator>
	<entry>
		<id>https://arolstar52-zhtest.hf.space/index.php?title=Stackless_Python&amp;diff=3522489&amp;oldid=prev</id>
		<title>imported&gt;Yumeto：​使用DisamAssist清理消歧義連結：Go（改連結至Go語言）。</title>
		<link rel="alternate" type="text/html" href="https://arolstar52-zhtest.hf.space/index.php?title=Stackless_Python&amp;diff=3522489&amp;oldid=prev"/>
		<updated>2026-03-02T15:27:14Z</updated>

		<summary type="html">&lt;p&gt;使用&lt;a href=&quot;/index.php?title=User:Peacearth/DisamAssist.js&amp;amp;action=edit&amp;amp;redlink=1&quot; class=&quot;new&quot; title=&quot;User:Peacearth/DisamAssist.js（页面不存在）&quot;&gt;DisamAssist&lt;/a&gt;清理&lt;a href=&quot;/index.php?title=WP:DAB&amp;amp;action=edit&amp;amp;redlink=1&quot; class=&quot;new&quot; title=&quot;WP:DAB（页面不存在）&quot;&gt;消歧義&lt;/a&gt;連結：&lt;a href=&quot;/wiki/Go&quot; title=&quot;Go&quot;&gt;Go&lt;/a&gt;（改連結至&lt;a href=&quot;/wiki/Go%E8%AA%9E%E8%A8%80&quot; title=&quot;Go語言&quot;&gt;Go語言&lt;/a&gt;）。&lt;/p&gt;
&lt;p&gt;&lt;b&gt;新页面&lt;/b&gt;&lt;/p&gt;&lt;div&gt;{{Infobox software&lt;br /&gt;
| name = Stackless Python&lt;br /&gt;
| logo = &lt;br /&gt;
| screenshot = &lt;br /&gt;
| caption = &lt;br /&gt;
| collapsible = &lt;br /&gt;
| author = Christian Tismer&lt;br /&gt;
| developer = Anselm Kruis&lt;br /&gt;
| released = {{Start date and age|1998}}&lt;br /&gt;
| latest release version = v3.8.1-slp&lt;br /&gt;
| latest release date = {{Start date and age|2021|08|12}}&lt;br /&gt;
| latest preview version = &lt;br /&gt;
| latest preview date = &lt;br /&gt;
| programming language = [[C语言|C]], [[Python]]&lt;br /&gt;
| operating system = [[Linux]], [[Microsoft Windows|Windows]]&lt;br /&gt;
| platform = &lt;br /&gt;
| size = &lt;br /&gt;
| language = &lt;br /&gt;
| genre = [[解释器]]&lt;br /&gt;
| license = [[Python软件基金会许可证]]&lt;br /&gt;
| website = &lt;br /&gt;
}}&lt;br /&gt;
&lt;br /&gt;
&amp;#039;&amp;#039;&amp;#039;Stackless Python&amp;#039;&amp;#039;&amp;#039;或称简称&amp;#039;&amp;#039;&amp;#039;Stackless&amp;#039;&amp;#039;&amp;#039;，是一个[[Python|Python编程语言]]解释器，这么称呼的原因是它避免了依赖[[C语言|C]][[调用栈]]为自己的堆栈。在实际中，Stackless Python使用了C堆栈，但是这个堆栈在函数调用之间是被清除的&amp;lt;ref&amp;gt;{{Cite web |url=https://www.youtube.com/watch?v=pDkrkP0yf70 |title=存档副本 |accessdate=2020-09-30 |archive-date=2020-08-29 |archive-url=https://web.archive.org/web/20200829130130/https://www.youtube.com/watch?v=pDkrkP0yf70 |dead-url=no }}&amp;lt;/ref&amp;gt;。Stackless Python的最突出特征是{{le|微线程|Microthread}}，它避免了与操作系统[[线程]]有关的大量开销。在Python特征之外，Stackless还增加了[[协程]]、通信[[通道 (编程)|通道]]和任务[[序列化]]。&lt;br /&gt;
&lt;br /&gt;
==设计==&lt;br /&gt;
对于Stackless Python，一个运行的程序被分解成微线程，由语言解释器自身而非操作系统[[内核]]管理，[[上下文切换]]和[[调度 (计算机)|任务调度]]纯粹在解释器内完成，因而可以被视作是一种形式的[[绿色线程]]。微线程管理在同一个CPU核心上一个程序的不同子任务的执行，Stackless Python不移除Python的[[全局解释器锁]], 也不使用多线程或多进程。所以它只允许在一个共享CPU核心上的[[协作式多任务]]而非[[并行计算|并行]]，最初不能获得而现在有了某种形式的抢占&amp;lt;ref&amp;gt;{{cite web |url=https://bitbucket.org/stackless-dev/stackless/wiki/Home |title=About Stackless |quote=a round robin scheduler is built in. It can be used to schedule tasklets either cooperatively or preemptively. |accessdate=26 August 2016 |archive-date=2020-06-23 |archive-url=https://web.archive.org/web/20200623233250/https://bitbucket.org/stackless-dev/stackless/wiki/Home |dead-url=no }}&amp;lt;/ref&amp;gt;。&lt;br /&gt;
&lt;br /&gt;
由于相当数量的源代码变更，Stackless Python不能在现存的Python安装上作为一个[[插件|扩展]]或[[函式库|库]]来安装。它自身是完整的Python发行。大多数的Stackless Python的特征也在[[PyPy]]中实现了，它是{{le|自我寄宿|Self-hosting (compilers)}}的Python解释器和[[即时编译|JIT编译器]]&amp;lt;ref&amp;gt;{{cite web|url=http://pypy.readthedocs.org/en/latest/stackless.html|title=Application-level Stackless features — PyPy documentation|website=pypy.readthedocs.org|accessdate=2020-09-30|archive-date=2016-04-13|archive-url=https://web.archive.org/web/20160413211003/https://pypy.readthedocs.org/en/latest/stackless.html|dead-url=no}}&amp;lt;/ref&amp;gt;。&lt;br /&gt;
&lt;br /&gt;
==使用==&lt;br /&gt;
尽管整个Stackless Python是一个独立发行，它的上下文切换功能已经成功的打包为叫做greenlet的[[CPython]]扩展&amp;lt;ref&amp;gt;{{cite web|url=http://greenlet.readthedocs.org/en/latest/|title=greenlet: Lightweight concurrent programming — greenlet 0.4.0 documentation|website=greenlet.readthedocs.org|accessdate=2020-09-30|archive-date=2016-04-16|archive-url=https://web.archive.org/web/20160416091857/http://greenlet.readthedocs.org/en/latest/|dead-url=no}}&amp;lt;/ref&amp;gt;。它被用在很多库，比如gevent&amp;lt;ref&amp;gt;{{cite web|url=http://www.gevent.org|title=What is gevent? — gevent 1.3.0.dev0 documentation|website=www.gevent.org|accessdate=2020-12-09|archive-date=2020-09-16|archive-url=https://web.archive.org/web/20200916085654/http://www.gevent.org/|dead-url=no}}&amp;lt;/ref&amp;gt;，用来提供CPython的[[绿色线程]]解决方案。Python现在已经接受了对绿色线程的原生解决方案：[[async/await]]。&lt;br /&gt;
&lt;br /&gt;
Stackless Python广泛的使用在大规模多玩家在线游戏{{le|Eve Online|Eve Online}}的实现和{{le|IronPort|IronPort}}的邮件平台。&lt;br /&gt;
&lt;br /&gt;
==引用==&lt;br /&gt;
{{Reflist|2}}&lt;br /&gt;
&lt;br /&gt;
==参閱==&lt;br /&gt;
{{Portal|自由软件}}&lt;br /&gt;
* [[Erlang]]&lt;br /&gt;
* [[Limbo (程式语言)]]&lt;br /&gt;
* [[Go語言|Go]]&lt;br /&gt;
* {{le|SCOOP (软件)|SCOOP (software)}}&lt;br /&gt;
&lt;br /&gt;
==外部链接==&lt;br /&gt;
* Stackless Python Documentation for: [https://stackless.readthedocs.io/en/3.7-slp/stackless-python.html 3.7-slp]{{Wayback|url=https://stackless.readthedocs.io/en/3.7-slp/stackless-python.html |date=20190331231737 }}, [https://stackless.readthedocs.io/en/3.6-slp/stackless-python.html 3.6-slp]{{Wayback|url=https://stackless.readthedocs.io/en/3.6-slp/stackless-python.html |date=20190209180414 }}, [https://stackless.readthedocs.io/en/3.5-slp/stackless-python.html 3.5-slp]{{Wayback|url=https://stackless.readthedocs.io/en/3.5-slp/stackless-python.html |date=20190331231741 }}, [https://stackless.readthedocs.io/en/3.4-slp/stackless-python.html 3.4-slp]{{Wayback|url=https://stackless.readthedocs.io/en/3.4-slp/stackless-python.html |date=20190331231743 }}, [https://stackless.readthedocs.io/en/2.7-slp/stackless-python.html 2.7-slp]{{Wayback|url=https://stackless.readthedocs.io/en/2.7-slp/stackless-python.html |date=20190331231800 }}&lt;br /&gt;
* {{GitHub|stackless-dev/stackless}}&lt;br /&gt;
* [http://harkal.sylphis3d.com/2005/08/10/multithreaded-game-scripting-with-stackless-python/ Multithreaded Game Scripting with Stackless Python]{{Wayback|url=http://harkal.sylphis3d.com/2005/08/10/multithreaded-game-scripting-with-stackless-python/ |date=20170702173643 }} by Harry Kalogirou&lt;br /&gt;
* [https://web.archive.org/web/20121108011701/http://zope.stackless.com/spcpaper.htm Continuations and Stackless Python] by Christian Tismer&lt;br /&gt;
{{-}}&lt;br /&gt;
{{Python|state=collapsed}}&lt;br /&gt;
&lt;br /&gt;
[[Category:并发计算]]&lt;br /&gt;
[[Category:Python]]&lt;br /&gt;
[[Category:采用Python软件基金会许可证的软件]]&lt;/div&gt;</summary>
		<author><name>imported&gt;Yumeto</name></author>
	</entry>
</feed>