У меня есть некоторые вопросы по Libevent приоритета событийLibevent: некоторые вопросы по поводу приоритета событий и `event_priority_set()`
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
BTW: в настоящее время мой base = event_init(); event_base_priority_init (базовый, 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)
правильно или нет, поэтому я не знаю, будет ли приоритет установлен или нет.
'по умолчанию - количество очередей в базе событий. каково это по умолчанию количество очередей в базе событий? – misteryes
По умолчанию существует только одна очередь приоритетов. –
для 5, вы имеете в виду, что 'event_priority_set()' должно быть до 'event_add()', PLS увидеть мое обновление. благодаря! – misteryes