Perl AE

AE  简单的快速的新的 cooler的 AnyEvent API

AE是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的名字空间里。


语义在这里没有描述,请参阅说明的函数或方法中具有相同名称的任何帮助的细节。












你可能感兴趣的:(Perl AE)