国产xxxx99真实实拍_久久不雅视频_高清韩国a级特黄毛片_嗯老师别我我受不了了小说

資訊專欄INFORMATION COLUMN

關(guān)于libevent的事件持續(xù)化EV_READ | EV_PERSIST

happyfish / 1305人閱讀

摘要:如果一個事件被設(shè)置了,那么這個事件就是持續(xù)化的,意思就是這個事件會保持掛起狀態(tài),即使回調(diào)函數(shù)被執(zhí)行。任何時候事件的回調(diào)函數(shù)觸發(fā)都會重置持續(xù)化事件中的超時狀態(tài)。

關(guān)于事件的可持續(xù)化

從網(wǎng)上找的內(nèi)容,可以看下github中的一本book,點(diǎn)擊下面的連接就ok了。
github-libevent_book引用其中的話

About Event Persistence
By default, whenever a pending event becomes active (because its fd is ready to read or write, or because its timeout expires), it becomes non-pending right before its callback is executed. Thus, if you want to make the event pending again, you can call event_add() on it again from inside the callback function.
If the EV_PERSIST flag is set on an event, however, the event is persistent. This means that event remains pending even when its callback is activated. If you want to make it non-pending from within its callback, you can call event_del() on it.
The timeout on a persistent event resets whenever the event’s callback runs. Thus, if you have an event with flags EV_READ|EV_PERSIST and a timeout of five seconds, the event will become active:

Whenever the socket is ready for reading.

Whenever five seconds have passed since the event last became active.

翻譯

可能有不對的地方,歡迎指正

關(guān)于事件的持續(xù)化
默認(rèn)情況下,任何時候一個掛起的事件被激活(因為他的fd準(zhǔn)備好了讀或者寫,或者因為他的超時過期了),它會在回調(diào)函數(shù)執(zhí)行之前變?yōu)榉菕炱?。如果你想讓事件再次掛起,你需要在回調(diào)函數(shù)內(nèi)部調(diào)用event_add()。
如果一個事件被設(shè)置了EV_PERSIST,那么這個事件就是持續(xù)化的,意思就是這個事件會保持掛起狀態(tài),即使回調(diào)函數(shù)被執(zhí)行。如果你想讓它變?yōu)榉菕炱馉顟B(tài),可以在回調(diào)函數(shù)中調(diào)用event_del()

任何時候事件的回調(diào)函數(shù)觸發(fā)都會重置持續(xù)化事件中的超時狀態(tài)。因此,如果的事件有EV_READ/EV_PERSIST并且設(shè)置了5秒超時,那么有兩種情況會觸發(fā)這個事件:

當(dāng)socket可以進(jìn)行讀取的時候

當(dāng)5s超時到期的時候

給個例子:
           
               
                                           
                       
                 

文章版權(quán)歸作者所有,未經(jīng)允許請勿轉(zhuǎn)載,若此文章存在違規(guī)行為,您可以聯(lián)系管理員刪除。

轉(zhuǎn)載請注明本文地址:http://m.specialneedsforspecialkids.com/yun/22027.html

相關(guān)文章

  • 一次讀懂 Select、Poll、Epoll IO復(fù)用技術(shù)

    摘要:目前的常用的復(fù)用模型有三種,,。如果設(shè)置為,則將一直阻塞到有套接字滿足條件。模型是和的增強(qiáng)版,同一樣,文件描述符數(shù)量無限制。支持多種多路復(fù)用技術(shù),和等。同時為文件描述符信號超時設(shè)定等事件提供了監(jiān)聽回調(diào)。 閱讀本文大概需要 6 分鐘。 我們之前采用的多進(jìn)程方式實現(xiàn)的服務(wù)器端,一次創(chuàng)建多個工作子進(jìn)程來給客戶端提供服務(wù)。其實這種方式是存在問題的。 可以打個比方:如果我們先前創(chuàng)建的幾個進(jìn)程承...

    int64 評論0 收藏0

發(fā)表評論

0條評論

最新活動
閱讀需要支付1元查看
<