函数名: 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"。