【发布时间】:2013-06-19 10:50:03
【问题描述】:
我有一些关于 libevent 事件优先级的问题
1 优先编号范围是多少?
手册中的 2,上面写着 By default, libevent assigns the middle priority to all events unless their priority is explicitly set. 那么确切的默认优先级编号是多少?
3 优先级越高,数字越小还是越大?
4 libevent中有两个与事件优先级相关的函数。
event_priority_init()和event_priority_set,它们有什么区别?
5 event_priority_set(struct event *ev, int pri) 的返回值是什么?我注意到一篇文章说:when an event is ready, it can't be set and calling of this function returns -1。我真的不明白这是什么意思?谁能解释一下?谢谢!
6 我可以在注册后修改事件优先级吗?比如一开始我把优先级设置为10,后来我设置为5,然后我设置为10,blalba
顺便说一句:目前,我的 基数 = event_init(); event_base_priority_init(base, 4);
event_set(ev, sockfd, EV_READ, callback, arg);
event_base_set(base, ev);
event_add(ev, NULL);
event_priority_set(&ev, 2);
.....
// set and add some other events
....
event_base_dispatch(base);
它运行没有错误,但我不知道event_priority_set(&ev, 2)的位置是否正确,所以我不知道是否设置了优先级。
【问题讨论】:
标签: network-programming epoll libevent