Perl AE

来源:互联网 发布:迈克尔乔丹总决赛数据 编辑:程序博客网 时间:2024/04/28 20:18
AE  简单的快速的新的 cooler的 AnyEvent APIAE是AnyEvent + EV use AnyEvent; # not AE  # file handle or descriptor readable  my $w = AE::io $fh, 0, sub { ...  };  # one-shot or repeating timers  my $w = AE::timer $seconds,         0, sub { ... }; # once  my $w = AE::timer $seconds, $interval, sub { ... }; # repeated  print AE::now;  # prints current event loop time  print AE::time; # think Time::HiRes::time or simply CORE::time.  # POSIX signal  my $w = AE::signal TERM => sub { ... };  # child process exit  my $w = AE::child $pid, sub {     my ($pid, $status) = @_;     ...  };  # called when event loop idle (if applicable)  my $w = AE::idle sub { ... };  my $cv = AE::cv; # stores whether a condition was flagged  $cv->send; # wake up current and all future recv's  $cv->recv; # enters "main loop" till $condvar gets ->send  # use a condvar in callback mode:  $cv->cb (sub { $_[0]->recv });描述:这个模块描述新的简单的 AnyEvent API.新的API的基本原理是经验与EV现实这个API实际工作,尽管它缺乏可扩展性,导致更短的,更容易的和更快的API。和AnyEvent主要区别是 函数调用时用方法调用代替,没有命名的参数被使用。这使得调用来观察创建函数真的很短, 会让一个程序变得易读尽管缺乏命名参数。函数调用也允许更多的静态类型检查相比方法调用, 因此很多错误在编译时间被捕获另外, 一些后端的(Perl和EV)是如此之快,方法调用的开销是非常明显的( EV它增加了执行时间5-6倍,Perl 方法调用开销是大约两个因素)需要注意的是AE API 是一个非传统的, 不是未来的版本, AnyEvent API.两个API 可以交替使用,没有计划的切换作为AE API 是互补的,不是所有的在AnyEvent API是可用的,你仍旧需要使用AnyEvent为了更好的东西。另外,你不能直接使用AE,使用AnyEvent 会提供AE的名字空间。目前,那些函数将会变的很慢 相比它们的方法调用 当使用AnyEvent::Strict or AnyEvent::Debug::wrap.函数:这个章节简单的描述了非正统的构造器和其他可用函数在AE的名字空间里。语义在这里没有描述,请参阅说明的函数或方法中具有相同名称的任何帮助的细节。

0 0
原创粉丝点击