libco 是騰訊開源的一個有趣的協程基礎庫,僅有的幾個函數接口 co_create/co_resume/co_yield 再配合 co_poll, 可以支持同步或者異步的寫法,如線程庫一樣輕松,庫里面提供了socket族函數的hook,
eurasia 是一種純異步超輕量級協程框架,或者工具集。主要用于高效能 web 開發,也適用于底層網絡開發和其他常規協程應用。自帶 wsgi、http 和 tcp 服務器,并具有將常規 IO 轉換為協程異步的能力,可以讓你用最 pythonic 的方式,編寫出優美的程序。
譯者說Tornado4.3于2015年11月6日發布,該版本正式支持Python3.5的async/await關鍵字,并且用舊版本CPython編譯Tornado同樣可以使用這兩個關鍵字,這無疑是一種進步。其次,這是最后一個支持Python2.6和Python3.2的版本了,在后續的版本了會移除對它們的兼容。現在網絡上還沒有Tornado4.3的中文文檔,所以為了讓更多的朋友能接觸并學習到它,我開始了這個翻譯項目,希望感興趣的小伙伴可以一起參與翻譯,項目地址是tornado-zhonGithub,翻譯好的文檔在ReadtheDocs上直...
我們知道 JavaScript 自從有了 Generator 之后,就有了各種基于 Generator 封裝的協程。其中 hprose 中封裝的 Promise 和協程庫實現了跟 ES2016 的 async/await 一樣的功能,并且更加靈活。我們還知道 PHP 自從 5.5 之后,也引入了 Generator,同樣也有了各種基于它封裝的 PHP 協程庫,hprose 同樣也為 PHP 提供的跟 JavaScript 版本類似的 Promise 和協程庫。下面我們就來看一下它跟 swoole 結合的效果。
繼續Python協程方面的介紹,這次要講的是gevent,它是一個并發網絡庫。它的協程是基于greenlet的,并基于libev實現快速事件循環(Linux上是epoll,FreeBSD上是kqueue,Mac OS X上是select)。有了gevent,協程的使用將無比簡單,你根本無須像greenlet一樣顯式的切換,每當一個協程阻塞時,程序將自動調度,gevent處理了所有的底層細節。
Java媒體架構(JMF)是一個令人激動的通用的API,它允許Java開發者用許多不同的方法處理媒體。本指南主要通過使用工作的例子提供一個JMF的一些主要的特征的概述。閱讀完本指南后,你將會明白JMF體系結構中的主要播放功能。你同樣能正確的使用JMF,使用現存的例子和可為更多特殊功能擴展的源代碼。
全文檢索(Full-Text Retrieval)是指以文本作為檢索對象,找出含有指定詞匯的文本。全面、準確和快速是衡量全文檢索系統的關鍵指標。 關于全文檢索,我們要知道:1,只處理文本。2,不處理語義。3,搜索時英文不區分大小寫。4,結果列表有相關度排序。
這東西其實有很多名詞,比如有的人喜歡稱為纖程(Fiber),或者綠色線程(GreenThread)。其實最直觀的解釋可以定義為線程的線程。有點拗口,但本質上就是這樣。
理應說這次重大事件發生,攜程應當第一時間通知用戶,而不是通知烏云。看來攜程這次出大事了,那我想從技術角度看看攜程到底犯了哪些錯。
一提到排程,我們就聯想到復雜,總是覺得有點高深莫測,但是利用模擬技術可以全面地反映生產計劃和排程的運行特點,由于不存在數學規劃求解的復雜性,它可以考慮各種復雜因素,包括結構上和參數的上的隨機性. 生產計劃排程中的事件發生是不連續的,時間間隔也不相同,而且具有一定的隨機性,因此,利用模擬技術可以更現實的假設進行優化。 排程實際上是在計劃框架內的調度,所以排程僅僅考慮一部分供應訂單即在近期完成的生產
reviewboard-svn-hooks 是一個用 Python 編寫的 Subversion 的鉤子程序,用于對提交的代碼進行評審,基于代碼評審工具 ReviewBoard 所提供的服務。
協程(coroutine)顧名思義就是“協作的例程”(co-operative routines)。跟具有操作系統概念的線程不一樣,協程是在用戶空間利用程序語言的語法語義就能實現邏輯上類似多任務的編程技巧。實際上協程的概念比線程還要早,按照 Knuth 的說法 “子例程是協程的特例” ,一個子例程就是一次子函數調用,那么實際上協程就是類函數一樣的程序組件,你可以在一個線程里面輕松創建數十萬個協程,就像數十萬次函數調用一樣。
開源 C 協程庫 protothreads。這是一個全部用 ANSI C 寫成的庫,之所以稱為“蠅量級”的,就是說,實現已經不能再精簡了,幾乎就是原語級別。事實上 protothreads 整個庫不需要鏈接加載,因為所有源碼都是頭文件,類似于 STL 這樣不依賴任何第三方庫,在任何平臺上可移植;
去年有一段時間一直在研究各種python協程框架,包括gevent, asyncio, tornado。閱讀tornado的源碼還是兩個多月前的事了,一直想寫一篇文章出來整理整理,但不知道從何處開始下筆。如果貼上一段段源碼,然后通過語言來描述各種流程,這種類型的文章網上也有不少,況且這樣子的講解對于讀者來說可能會比較乏味。
通常在Python中我們進行并發編程一般都是使用多線程或者多進程來實現的,對于計算型任務由于GIL的存在我們通常使用多進程來實現,而對與IO型任務我們可以通過線程調度來讓線程在執行IO任務時讓出GIL,從而實現表面上的并發。
攜程實時用戶行為服務作為基礎服務,目前普遍應用在多個場景中,比如猜你喜歡(攜程的推薦系統),動態廣告,用戶畫像,瀏覽歷史等等。
攜程旅行網今日宣布,正式開啟其 PC 端的微信支付服務,后續該服務將進一步延伸到攜程旅行客戶端。 微信 5.0 中新增了支付功能,用戶只需在微信“我的銀行卡”選項中關聯一張銀行卡,并完成身份認證,就可購買合作商戶的商品及服務。攜程旅行網 PC 端針對的支付方法為掃碼支付,即用微信“掃一掃”掃描二維碼進入微信支付頁面付款。
經常聽到很多企業說,我們還沒用Docker,還在觀望中,以后會用的。其實Docker通過將近三年的發展,它已經成熟了,能夠為企業帶來巨大的商業價值。
進程和線程究竟是什么東西?傳統網絡服務模型是如何工作的?協程和線程的關系和區別有哪些?IO過程在什么時間發生? 在剛剛結束的 PyCon2014 上海站,來自七牛云存儲的 Python 高級工程師許智翔帶來了關于 Python 的分享《Python中的進程、線程、協程、同步、異步、回調》。
TSF:騰訊推出的 PHP 協程方案