事件環

維基百科,自由的百科全書

在計算機領域中事件循環event loop),又稱為消息分發器message dispatcher)、消息循環message loop)、消息泵message pump)或運行循環run loop),是一種程序構造或設計模式,負責等待並分發程序中的事件或消息。它的工作方式是向內部或者外部的「事件提供方」發出請求(請求通常會被阻塞,直到有新事件產生),待請求被處理後調用所獲得的事件對應的回調函數(即「分發事件」)。

事件循環可以與反應器reactor)結合使用,只要事件提供方採用可以被poll(指類似selectepoll的系統調用,不是指輪詢)的文件接口。事件循環幾乎總是與消息發起方異步地執行。

當一個事件循環構成程序的中心控制流時(通常是這樣),可以稱之為主循環或者主事件循環。這些名稱是合適的,因為這樣的事件循環位於程序控制流的最頂層。