如何强制AnyEvent使用EV

时间:2015-12-30 03:23:02

标签: perl anyevent

我一直在使用AnyEvent,EV已安装在我的电脑中。

我理解如果安装了EV,AnyEvent会尝试使用它作为第一手段,但我一直看到人们这样做:

use EV;
use AnyEvent;

1 个答案:

答案 0 :(得分:3)

来自documentation

  

在第一次调用任何观察者创建方法期间,模块尝试通过探测是否已加载以下模块之一来检测当前加载的事件循环:EV,AnyEvent :: Loop,Event,Glib,Tk,Event :: Lib,Qt,POE。发现的第一个被使用。

这意味着它将首先检查是否已加载任何这些模块然后使用它。例如,如果加载了Tk但不是EV,它将使用Tk,如下例所示:

use Some_Module_Which_Implicitly_loads_Tk;
use AnyEvent;

通过显式加载EV,确保在执行上述探测时它是可用的,并且即使其他事件循环模块也被加载,它也会被使用。