事件循环
- EV_DEFAULT ev_default_loop 不是线程安全的而
-
ev_loop_new(EVBACKEND_EPOLL EVFLAG_NOENV) 不能捕捉信号和子进程的观察器 - ev_loop_destroy 销毁ev_loop_new
- fork后需要先调用 ev_default_fork 或 ev_loop_fork
- ev_run 第二个参数为0时持续运行并处理循环直到没有活动的事件观察器或者调用了ev_break, EVRUN_NOWAIT EVRUN_ONCE
- ev_break 跳出事件循环. EVBREAK_ONE跳出最内层的 ev_run EVBREAK_ALL跳出全部嵌套的ev_run
- ev_suspend 和 ev_resume 暂停和重启事件循环
观察器
- 4种状态:初始化、启动/活动、等待、停止
- 支持优先级
- ev_io ev_timer(秒) ev_periodic(小时, 自定义周期函数) ev_signal信号监控 ev_child监听子进程结束 ev_stat文件状态
- libev还支持很多其他的有用的功能,比如自定义观察器,在线程中使用等。