5.15. libevent

简介:

5.15.1. event_base_loop

永远循环

		
<?php
$timeouts = 10000000;
//callback function
function func($fd, $event,$arg) {
$time = time();
for($i=0;$i<2;$i++) {
    echo "Timer-$arg: $time : out-$i\n";
    sleep(3);
}
}
//create base and event 
$base = event_base_new();
for($i=0;$i<2;$i++) {
$event[$i] = event_new();
//set event flags
event_set($event[$i], $i , EV_PERSIST, 'func', "$i");
//set event base
event_base_set($event[$i], $base);
//enable event
event_add($event[$i], $timeouts);
}
//start event loop
event_base_loop($base);
		
		

运行一次然后退出

event_base_loop($base, EVLOOP_ONCE );
		
		
<?php
$timeouts = 10;
//callback function
function func($fd, $event,$arg) {
$time = time();
    echo "Timer-$arg: $time\n";
}
//create base and event 
$base = event_base_new();
for($i=0;$i<10;$i++) {
$event[$i] = event_new();
//set event flags
event_set($event[$i], $i , EV_PERSIST, 'func', "$i");
//set event base
event_base_set($event[$i], $base);
//enable event
event_add($event[$i], $timeouts);
}
//start event loop
event_base_loop($base, EVLOOP_ONCE );
event_base_loop($base, EVLOOP_ONCE );
event_base_loop($base, EVLOOP_ONCE );
event_base_loop($base, EVLOOP_ONCE );		
		
		

5.15.2. 




原文出处:Netkiller 系列 手札
本文作者:陈景峯
转载请与作者联系,同时请务必标明文章原始出处和作者信息及本声明。

目录
相关文章
|
6月前
|
Linux API iOS开发
libevent介绍和使用
libevent 是一个开源的事件通知库,它提供了一个跨平台的抽象接口,libevnet处理的事件包括网络IO事件,定时事件以及信号事件。它可以在不同的操作系统上使用,包括Linux、Windows和Mac OS X等。libevent 的主要目的是提供高效的事件通知机制,用户无需关注平台检测处理事件的机制的差异,只需关注事件的具体处理。它可以用于编写服务器、客户端和其他网络应用程序。
136 0
|
存储 缓存 JavaScript
libevent实战的那些坑
libevent实战的那些坑
400 0
libevent实战的那些坑
|
负载均衡 网络协议 C++
VS2010下libevent的如何使用
VS2010下libevent的如何使用
250 0
VS2010下libevent的如何使用
|
Linux
redhat下安装libiconv.so.2
最近公司软件开发环境配置遇到的问题,总是提示:error while loading shared libraries: libiconv.so.2: cannot open shared object file: No such file or directory 遇到这样的问题,看一下提示,就是在你的电脑种,找不到libiconv.
3813 0
|
存储 关系型数据库 MySQL
|
存储