ฉันมีคำถามบางอย่างเกี่ยวกับลำดับความสำคัญของกิจกรรมเสรี
1 ช่วงหมายเลขลำดับความสำคัญคืออะไร?
2 ในคู่มือเขียนว่า By default, libevent assigns the middle priority to all events unless their priority is explicitly set.
แล้วหมายเลขลำดับความสำคัญเริ่มต้นที่แน่นอนคืออะไร?
3 เมื่อลำดับความสำคัญสูงกว่า จำนวนจะน้อยลงหรือมากขึ้น?
4 มีสองฟังก์ชันที่เกี่ยวข้องกับลำดับความสำคัญของเหตุการณ์ในชีวิต 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 บลาบา
BTW: ปัจจุบันฐานของฉัน = 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)
ถูกต้องหรือไม่ ดังนั้นฉันจึงไม่รู้ว่ามีการกำหนดลำดับความสำคัญไว้หรือไม่