Stackless Python

✍ dations ◷ 2025-05-21 00:43:06 #并发计算,Python

Stackless Python或称简称Stackless,是一个Python编程语言解释器,这么称呼的原因是它避免了依赖C调用栈为自己的堆栈。在实际中,Stackless Python使用了C堆栈,但是这个堆栈在函数调用之间是被清除的。Stackless Python的最突出特征是微线程,它避免了与操作系统线程有关的大量开销。在Python特征之外,Stackless还增加了协程、通信通道和任务序列化。

对于Stackless Python,一个运行的程序被分解成微线程,由语言解释器自身而非操作系统内核管理,上下文切换和任务调度纯粹在解释器内完成,因而可以被视作是一种形式的绿色线程。微线程管理在同一个CPU核心上一个程序的不同子任务的执行,Stackless Python不移除Python的全局解释器锁, 也不使用多线程或多进程。所以它只允许在一个共享CPU核心上的协作式多任务而非并行,最初不能获得而现在有了某种形式的抢占。

由于相当数量的源代码变更,Stackless Python不能在现存的Python安装上作为一个扩展或库来安装。它自身是完整的Python发行。大多数的Stackless Python的特征也在PyPy中实现了,它是自我寄宿(英语:Self-hosting (compilers))的Python解释器和JIT编译器。

尽管整个Stackless Python是一个独立发行,它的上下文切换功能已经成功的打包为叫做greenlet的CPython扩展。它被用在很多库,比如gevent,用来提供CPython的绿色线程解决方案。Python现在已经接受了对绿色线程的原生解决方案:await/async。

Stackless Python广泛的使用在大规模多玩家在线游戏Eve Online(英语:Eve Online)的实现和IronPort(英语:IronPort)的邮件平台。

相关

  • 迷园迷路园又称迷宫,是一个设计来让人们作消闲用的游戏,人们通过寻找出路而获得乐趣。迷路园的路径是固定的,有一种迷路园会使用多个门户连结多个房间,让人们需要在多个门户里作出选
  • 国际标准视听资料编码视听数码国际标准(英文:ISAN),是视听作品原作及其改版的唯一标识码,就像图书的ISBN编码。ISAN是由国际标准化组织ISOTC46/SC9工作组开发,由视听数码国际标准—国际代理机构(ISAN-IA
  • 龚书铎龚书铎(1929年3月-2011年11月9日),福建泉州市人。中国历史学家、教育家,国务院学位委员会历史学科评议组原召集人,中国史学会原副会长,北京市历史学会原会长,北京师范大学历史学院原
  • 詹姆斯·柯梅小詹姆斯·布莱恩·科米(英语:James Brien Comey, Jr.,1960年12月14日-),第七任美国联邦调查局局长,由贝拉克·奥巴马提名,自2013年9月4日起就任,2017年5月9日被总统唐纳德·特朗普终
  • 曼努埃尔·希门内斯·德·帕尔加曼努埃尔·希门内斯·德·帕尔加(Manuel Jiménez de Parga y Cabrera,1929年4月9日-2014年5月6日),是一名西班牙律师、政治家和法官。他担任马德里大学法学教授,后担任巴塞罗那大
  • 弓背蚁属弓背蚁属(学名:),又名巨山蚁属或木匠蚁属,是蚁科山蚁亚科的一个属,其物种俗称木匠蚁或木蚁。它们通常筑巢于潮湿的地方,其巢穴可能建于房屋的横梁,地板或墙壁中,并以食物碎屑或其他昆
  • C.A.罗塞蒂乡 (图尔恰县)坐标:45°18′N 29°34′E / 45.300°N 29.567°E / 45.300; 29.567C.A.罗塞蒂乡(罗马尼亚语:Comuna C.A. Rosetti, Tulcea),是罗马尼亚的乡份,位于该国东南部,由图尔恰县负责管辖,
  • 基拉奥利基拉奥利(Kiraoli),是印度北方邦Agra县的一个城镇。总人口18921(2001年)。该地2001年总人口18921人,其中男性10035人,女性8886人;0—6岁人口3704人,其中男1903人,女1801人;识字率49.08%
  • 花斑带探案《花斑带探案》(英语:),又译名为斑点带子案,柯南·道尔所著的福尔摩斯探案的56个短篇故事之一,收录于《福尔摩斯办案记》。海伦·史东纳小姐在家中晚上听到口哨声,而她的姐姐茱莉亚
  • 吕瀚吕瀚(1852年-1884年8月23日),清朝广东鹤山人。同治六年(1867年)6月,沈葆桢到福州马尾船政学堂任职。开办法文教学的制造学堂(制造轮船,前学堂);英文教学的驾驶管轮学堂(驾驶轮船,后学堂)。