Stackless 框架 About

    最近研究Python下的可用於分佈式的框架,常用的有twisted、asyncio/tulip、tornado等,又發現了個Stackless,這個的設計思路和模式和之前的幾個有所不同,雖然他們實現的功能和支持的協議基本差不多,在技術實現的底層有所差異的。

        Stackless名稱上就是無棧的,而tornado宣稱就是全棧式的,和其他另外兩種類似,用的都是協程異步模式,而Stackless主要是基於微線程的,可控制性和定製性更強,底層開發時候可以提供更多的靈活性和可選擇型。

        Stackless官方網站:

        http://www.stackless.com/

          從python2.7到3.4都支持。


        著名的greenlet是其副產品,

        http://www.oschina.net/p/greenlet

          在該頁面的介紹:

            greenlet 包是 Stackless 的副產品,其將微線程稱爲 “tasklet” 。tasklet運行在僞併發中,使用channel進行同步數據交換。

            一個”greenlet”,是一個更加原始的微線程的概念,但是沒有調度,或者叫做協程。這在你需要控制你的代碼時很有用。你可以自己構造微線程的 調度器;也可以使用”greenlet”實現高級的控制流。例如可以重新創建構造器;不同於Python的構造器,我們的構造器可以嵌套的調用函數,而被 嵌套的函數也可以 yield 一個值。。

            Greenlet是作爲一個C擴展模塊給未修改的解釋器的。


          用Stackless實現的支持百萬級長連接在線用戶的HTTP服務器,

          http://www.oschina.net/p/eurasia3

            該頁面的介紹:

                Eurasia3 是一種能夠支持百萬級同時在線長連接用戶數量的 HTTP 服務器, 或者每秒處理上萬次 CGI 請求的常規應用服務器。

                Eurasia3 同時也泛指以 Eurasia3 應用服務器爲核心的一系列組件形成的應用程序框架, 主要是一個嵌入式對象數據庫 MissileDB, 和一個 JavaScript 框架 NJF。 
Eurasia3 基於 Stackless Python。 


產品信息: 
運行平臺: 支持 Stackless Python 2.5 的系統, 包括各種嵌入式平臺 
開發語言: Stackless Python 
開源協議: BSD License

            


發表評論
所有評論
還沒有人評論,想成為第一個評論的人麼? 請在上方評論欄輸入並且點擊發布.
相關文章