反应堆概述¶
本 HOWTO 介绍了 Twisted 反应堆,描述了反应堆的基础知识,并链接到各种反应堆接口。
反应堆基础¶
反应堆是 Twisted 中事件循环的核心,该循环驱动使用 Twisted 的应用程序。事件循环是一种编程结构,它等待并分派程序中的事件或消息。它的工作原理是调用一些内部或外部“事件提供者”,该提供者通常会阻塞,直到事件到达,然后调用相关的事件处理程序(“分派事件”)。反应堆为许多服务提供基本接口,包括网络通信、线程和事件分派。
有关使用反应堆和 Twisted 事件循环的信息,请参阅
反应堆有多种实现,每种实现都经过修改,以针对默认实现提供对特定功能的更好支持。有关这些实现以及如何使用特定实现的更多信息,请参阅 选择反应堆。
Twisted 应用程序可以使用 twisted.application.service
中的接口来配置和运行应用程序,而不是使用样板反应堆代码。有关应用程序的介绍,请参阅 使用应用程序。
使用反应堆对象¶
您可以使用以下代码获取 reactor
对象
from twisted.internet import reactor
反应堆通常实现一组接口,但根据所选反应堆和平台,某些接口可能未实现
IReactorCore
:核心(必需)功能。IReactorFDSet
:使用 FileDescriptor 对象。IReactorProcess
:进程管理。有关更多信息,请阅读 使用进程 文档。IReactorSSL
:SSL 网络支持。IReactorTCP
:TCP 网络支持。有关更多信息,请参阅 编写服务器 和 编写客户端 文档。IReactorThreads
:线程使用和管理。有关更多信息,请参阅 Twisted 中的线程。IReactorTime
:调度接口。有关更多信息,请参阅 调度任务。IReactorUDP
:UDP 网络支持。有关更多信息,请参阅 UDP 网络。IReactorUNIX
:UNIX 套接字支持。IReactorSocket
:第三方套接字支持。