本文所剖析的tornado源碼版本為4.4.2

ioloop是tornado的關(guān)鍵,是他的最底層。

ioloop就是對I/O多路復(fù)用的封裝,它實現(xiàn)了一個單例,將這個單例保存在IOLoop._instance中

ioloop實現(xiàn)了Reactor模型,將所有要處理的I/O事件注冊到一個中心I/O多路復(fù)用器上,同時主線程/進(jìn)程阻塞在多路復(fù)用器上;一旦有I/O事件到來或是準(zhǔn)備就緒(文件描述符或socket可讀、寫),多路復(fù)用器返回并將事先注冊的相應(yīng)I/O事件分發(fā)到對應(yīng)的處理器中。

另外,ioloop還被用來集中運行回調(diào)函數(shù)以及集中處理定時任務(wù)。

一 準(zhǔn)備知識:

  1 首先我們要了解Reactor模型

  2 其次,我們要了解I/O多路復(fù)用,由于本文假設(shè)系統(tǒng)為Linux,所以要了解epoll以及Python中的select模塊

  3 IOLoop類是Configurable類的子類,而Configurable類是一個工廠類,講解在這。

二  創(chuàng)建IOLoop實例

來看IOLoop,它的父類是Configurable類,也就是說:IOLoop是一個直屬配置子類

class IOLoop(Configurable):
    ......

這里就要結(jié)合Configurable類進(jìn)行講解:

移動開發(fā)培訓(xùn),Android培訓(xùn),安卓培訓(xùn),手機開發(fā)培訓(xùn),手機維修培訓(xùn),手機軟件培訓(xùn) 

延伸閱讀

學(xué)習(xí)是年輕人改變自己的最好方式-Java培訓(xùn),做最負(fù)責(zé)任的教育,學(xué)習(xí)改變命運,軟件學(xué)習(xí),再就業(yè),大學(xué)生如何就業(yè),幫大學(xué)生找到好工作,lphotoshop培訓(xùn),電腦培訓(xùn),電腦維修培訓(xùn),移動軟件開發(fā)培訓(xùn),網(wǎng)站設(shè)計培訓(xùn),網(wǎng)站建設(shè)培訓(xùn)學(xué)習(xí)是年輕人改變自己的最好方式