2024 年日本 PHP 研討會

關於事件持續性

預設情況下,每當一個待處理事件變為活動狀態(因為它的檔案描述符已準備好讀取或寫入,或者因為它的逾時到期),它會在其回呼執行之前變為非待處理狀態。因此,要再次使事件處於待處理狀態,可以在回呼函式內再次呼叫 Event::add()

但是,如果在事件上設定了 Event::PERSIST 旗標,則該事件是*持續性的*。這表示即使在其回呼被啟動時,事件仍保持待處理狀態。可以呼叫 Event::del() 方法使其變為非待處理狀態。

持續性事件的逾時會在事件的回呼執行時重置。因此,如果一個事件的旗標為 Event::READ | Event::PERSIST 且逾時為五秒,則該事件將會變為活動狀態

  1. 當 socket 或文件描述符可供讀取時。

  2. 自事件上次變為活動狀態以來,每經過五秒。

另請參閱 » 使用 Libevent 進行快速可移植的非阻塞網絡編程,關於事件持久性

新增筆記

使用者貢獻的筆記

此頁面沒有使用者貢獻的筆記。
To Top