函式名: EvIdle::createStopped()
適用版本: Ev >= 1.0.0
用法:
EvIdle::createStopped() 函式用於建立一個被停止的 EvIdle 物件。EvIdle 用於在事件迴圈中提供一個空閒任務,即指定一個回撥函式需要在沒有其他事件可處理時執行。
示例:
// 建立一個 EventLoop 物件
$loop = new EvLoop();
// 建立一個被停止的 EvIdle 物件
$idle = EvIdle::createStopped(function () {
echo "Idle task is executing\n";
});
// 在事件迴圈中啟動 idle 任務
$idle->start();
// 執行事件迴圈
$loop->run();
// 在適當的時候,啟動 idle 任務
$idle->feed();
// 輸出結果: Idle task is executing
在上面的示例中,首先建立了一個 EventLoop 物件,然後使用 EvIdle::createStopped()
函式建立了一個被停止的 EvIdle 物件。透過指定一個回撥函式來定義空閒任務的邏輯。在事件迴圈中使用 $idle->start()
啟動了空閒任務。
在適當的時候,可以透過呼叫 $idle->feed()
函式來啟動空閒任務。在本例中,我們在執行事件迴圈之後呼叫了 $idle->feed()
以使任務開始執行。
當事件迴圈執行時,如果沒有其他事件需要處理,則執行空閒任務的回撥函式,並輸出 "Idle task is executing"。