twisted学习笔记

来源:互联网 发布:知道qq如何 知乎 编辑:程序博客网 时间:2024/05/22 04:58
1.twisted 的reactor,相当于epool\select,即多路服用。
第三部分:初步认识Twisted

reactor是单线程监听和执行回调函数的,所以回调函数要避免阻塞。




2.Deferred 可使得函数调用序列化。入下图所示,

第七部分:小插曲,Deferred


右侧为功能函数,左侧为异常处理函数。功能函数返回的值会传入下一曾的功能函数。
异常函数如果能正常返回,返回值传入下一曾的功能函数,如果抛出异常,则异常传入下层的异常处理函数。当功能函数抛出异常时,会将异常包装成

erro,并作为参数传入下一曾的异常处理函数,再往下传递。


第九部分:第二个小插曲,Deferred

绿线表示成功调用,红线表示有异常抛出



同一层的两个函数同时进出链表,不管是功能函数还是异常函数,有一个执行了,
同一层的两个函数都出链表。如果链表为空,则抛出AllReadyCalledEror
原创粉丝点击