(PECL ev >= 0.2.0)
表示一個總是與「*預設迴圈*」不同的事件迴圈。與「*預設迴圈*」不同,它無法處理 EvChild 觀察器。
若使用多執行緒,我們必須為每個執行緒建立一個迴圈,並在父執行緒中使用「*預設迴圈*」。
預設事件迴圈會由 Ev 自動初始化。它可以透過 Ev 類別的方法,或是透過 EvLoop::defaultLoop() 方法來存取。
$flags = ?,$data = NULL,$io_interval = 0.0,$timeout_interval = 0.0$pid,$trace,$callback,$data = ?,$priority = ?$flags = Ev::FLAG_AUTO,$data = NULL,$io_interval = 0.,$timeout_interval = 0.$other,$callback = ?,$data = ?,$priority = ?$callback , 混合型別 (mixed) $data = null (空值) , 整數 (int) $priority = 0 ): EvFork$callback , 混合型別 (mixed) $data = null (空值) , 整數 (int) $priority = 0 ): EvIdle$fd,$events,$callback,$data = null (空值),$priority = 0$offset,$interval,$callback,$data = null (空值),$priority = 0$signum,$callback,$data = null (空值),$priority = 0$path,$interval,$callback,$data = null (空值),$priority = 0$after,$repeat,$callback,$data = null (空值),$priority = 0附加到循環的自定义數據
*唯讀* 。 指示正在使用的事件後端的 後端旗標。
*唯讀* 。 如果它是預設事件循環,則為 true。
循環的當前迭代計數。 請參閱 Ev::iteration()
待處理的觀察器數量。 0 表示沒有待處理的觀察器。
更高的 io_interval 值允許 libev 花費更多時間收集 EvIo 事件,因此每次迭代可以處理更多事件,但代價是增加延遲。逾時(EvPeriodic 和 EvTimer)將不受影響。將此值設為非零值會在大部分的循環迭代中引入額外的 sleep() 呼叫。睡眠時間確保 libev 平均而言不會每隔此時間間隔就輪詢 EvIo 事件。許多程式通常可以受益於將 io_interval 設為接近 0.1 的值,這對於互動式伺服器(遊戲除外)通常已足夠。將其設定為低於 0.01 的值通常沒有太大意義,因為這接近大多數系統的計時粒度。
另請參閱 » 控制事件循環的函式。
更高的 timeout_interval 值允許 libev 花費更多時間收集逾時,但代價是增加延遲/抖動/不準確性(監視器回呼將稍後被呼叫)。EvIo 監視器將不受影響。將此值設為非 null 值不會在 libev 中引入任何額外開銷。另請參閱 » 控制事件循環的函式。
遞迴深度。請參閱 Ev::depth()。