twisted 源码分析一:reactor 单例
一个twisted进程只会有一个reactor反应器,下面我们来看看twisted是怎样实现这个单例反应器的,
路径:twisted\internet\reactor.py
主要代码如下:
import sys
del sys.modules['twisted.internet.reactor'] #删除已经加载的reactor模块
from twisted.internet import default #重新安装reactor模块,其实是加载twisted.internet.selectreactor
default.install() 进行安装
这样就保证reactor只有一个实例
具体reactor实例原理非常的复杂,涉及多个基类方法调用,在后续章节再探讨。