我一直在使用 AnyEvent 并且 EV 已安装在我的计算机中。
我的理解是,如果安装了 EV,AnyEvent 将尝试将其用作第一选择,但我一直看到人们这样做:
use EV;
use AnyEvent;
从文档中:
在任何观察者创建方法的第一次调用期间,模块尝试通过探测以下模块之一是否已加载来检测当前加载的事件循环:EV、AnyEvent::Loop、Event、Glib、Tk、Event::Lib ,Qt,POE。使用找到的第一个。
这意味着它将首先检查是否已经加载了这些模块中的任何一个,然后使用它。例如,如果加载了 Tk 但未加载 EV,它将使用 Tk,如下例所示:
use Some_Module_Which_Implicitly_loads_Tk;
use AnyEvent;
通过显式加载 EV,可以确保在进行上述探测时它可用,因此即使也加载了其他事件循环模块也可以使用它。