阿神2017-04-17 11:28:49
這叫reactor模式
說到非同步IO,其實現在很難實現真正的異步(除非利用硬體的電位來做異步觸發),大部分情況下仍然需要阻塞在某個多路復用函數,比如select 或者epoll 上,等到描述符就緒(例如網卡緩衝區可讀寫),然後呼叫註冊在對應描述符上的回呼函數。這種方式是現在的反應器設計的基本想法。用Twisted的圖可以解釋
阿神2017-04-17 11:28:49
event-driven 是基于观察者模式
的
http://www.dofactory.com/javascript/observer-design-pattern
事件handler是观察者
,事件來源是被观察者
觀察者模式的想法是:被观察者
維護一系列观察者
的列表,並在主題改變時,通知
所有觀察者
這個通知機制在javascript就是以callback
的方式實現,完全符合觀察者模式的設計理念