当前位置: 软件>php软件
php的事件拓展 ev
来源: http://www.oschina.net/p/ev
发布时间:2014-12-17
本文导语: ev是一个php的事件拓展,通过PECL进行安装,以libev library为接口,是一个用C语言编写的事件循环类库,所以ev是一个高效的事件拓展。同时可通过ev让php进行异步操作。 目前仅对GNU / Linux平台提供支持,今后可能会对其他平台提...
ev是一个php的事件拓展,通过PECL进行安装,以libev library为接口,是一个用C语言编写的事件循环类库,所以ev是一个高效的事件拓展。同时可通过ev让php进行异步操作。
目前仅对GNU / Linux平台提供支持,今后可能会对其他平台提供支持。
采用的是PHP协议。
范例
stop(); // Stop the watcher if further calls cause more than 10 iterations Ev::iteration() >= 10 and $w->stop(); }); // Create stopped timer. It will be inactive until we start it ourselves $w_stopped = EvTimer::createStopped(10, 5, function($w) { echo "Callback of a timer created as stoppedn"; // Stop the watcher after 2 iterations Ev::iteration() >= 2 and $w->stop(); }); // Loop until Ev::stop() is called or all of watchers stop Ev::run(); // Start and look if it works $w_stopped->start(); echo "Run single iterationn"; Ev::run(Ev::RUN_ONCE); echo "Restart the second watcher and try to handle the same events, but don't blockn"; $w2->again(); Ev::run(Ev::RUN_NOWAIT); $w = new EvTimer(10, 0, function() {}); echo "Running a blocking loopn"; Ev::run(); echo "ENDn"; ?>
输出
2 seconds elapsed is called every second, is launched after 2 seconds iteration = 1 is called every second, is launched after 2 seconds iteration = 2 is called every second, is launched after 2 seconds iteration = 3 is called every second, is launched after 2 seconds iteration = 4 is called every second, is launched after 2 seconds iteration = 5 Run single iteration Callback of a timer created as stopped Restart the second watcher and try to handle the same events, but don't block Running a blocking loop is called every second, is launched after 2 seconds iteration = 8 is called every second, is launched after 2 seconds iteration = 9 is called every second, is launched after 2 seconds iteration = 10 END
本站(WWW.)旨在分享和传播互联网科技相关的资讯和技术,将尽最大努力为读者提供更好的信息聚合和浏览方式。
本站(WWW.)站内文章除注明原创外,均为转载、整理或搜集自网络。欢迎任何形式的转载,转载请注明出处。
本站(WWW.)站内文章除注明原创外,均为转载、整理或搜集自网络。欢迎任何形式的转载,转载请注明出处。