事件环

(重定向自消息泵

在计算机领域中事件循环event loop),又称为消息分发器message dispatcher)、消息循环message loop)、消息泵message pump)或运行循环run loop),是一种程序构造或设计模式,负责等待并分发程序中的事件或消息。它的工作方式是向内部或者外部的“事件提供方”发出请求(请求通常会被阻塞,直到有新事件产生),待请求被处理后调用所获得的事件对应的回调函数(即“分发事件”)。

事件循环可以与反应器reactor)结合使用,只要事件提供方采用可以被poll(指类似selectepoll的系统调用,不是指轮询)的文件接口。事件循环几乎总是与消息发起方异步地执行。

当一个事件循环构成程序的中心控制流时(通常是这样),可以称之为主循环或者主事件循环。这些名称是合适的,因为这样的事件循环位于程序控制流的最顶层。