twisted 源码分析一:reactor 单例

一个twisted进程只会有一个reactor反应器,下面我们来看看twisted是怎样实现这个单例反应器的,

路径:twistedinternet eactor.py

主要代码如下:

import sys
del sys.modules['twisted.internet.reactor'] #删除已经加载的reactor模块
from twisted.internet import default #重新安装reactor模块,其实是加载twisted.internet.selectreactor
default.install() 进行安装

这样就保证reactor只有一个实例

具体reactor实例原理非常的复杂,涉及多个基类方法调用,在后续章节再探讨。

原文地址:https://www.cnblogs.com/bjdxy/p/3180553.html